내가 할당 배열에 문제가 자바 스크립트 전역으로 정의 배열 함수 배열을 만들어 할당 :로컬
var obj = [ {'id': 1, 'size': 'king' }, {'id':4, 'size': 'queen'} ];
function modify(o){
var result=[{'id': 1, 'size': 'king'}];
o=result.slice();
}
modify(obj);
document.write("result:" + JSON.stringify(obj)); //obj both 'king and queen'
내가 '결과'배열의 데이터로 채워 'OBJ'을하고 싶은,하지만이 방법을 수행합니다 작동하지. 배열이 비어 확인하고이 같은 내용 변경이 가능합니다 : 나는 내가 할 수있는 알고
o.length=0;//obj is empty outside of the function
o[1].id = 100;//id is changed outside of the function
을 그 '결과'배열을 반환하고 외부 t 'OBJ',하지만 더 그런 관계가있을 것입니다 할당하여 함수에서. 도움이 될 것입니다. 감사합니다
obj를 수정 한 후에는 'king'만 출력되는 것입니까? – Andy
예, 예상 출력입니다. – user2775380
그건 불가능합니다. 자바 스크립트에는 참조로 전달이 없습니다. 그러나 실제로 전달 된 배열 객체를 수정할 수 있습니다 - 덮어 쓰지 않고 내용을 변경합니다. – Bergi