Underscore.js의 map() 함수를 사용하여 원래 키를 제거하는 동안 큰 배열의 키를 다른 키로 매핑하려고합니다.배열 키를 다른 키로 매핑하는 밑줄
large_array = _.map(data, function(element) {
element.b = element.a;
delete element.a;
return element;
});
console.log(large_array) // Returns an array with length == 0
왜 large_array의 길이는 0입니까?
삭제 구문을 사용하고있는 것처럼 느껴졌지만 확실하지 않습니다.
편집 : 간단한 실행이 잘 작동하는 것 때문에
내가 너무 많은 코드를 추출 할 수있다. 이것과
가
원래의 데이터 배열을보다 상세 FB.api('/me/friends', function(response) {...}
의 응답이며, 그 오브젝트의 배열 등 { "12345"이름 "부바 왓슨"이드}이고 Facebook으로부터의 응답, 각 객체는 'id'속성을 갖습니다.
실제 코드는 'id'속성을 'facebook_id'속성으로 변경합니다.
FB.api('/me/friends', function(response) {
console.log(response.data); // Returns 600+ Array of Bubba Watson like objects, each with an id.
large_array = _.map(response.data, function(element) {
element.facebook_id = element.id;
delete element.id;
return element;
});
console.log(large_array); // Mysteriously Returns: {length: 0, __proto__: Array[0]}
}
'large_array'는 이전에 어떻게 보였습니까? – Niko
console.log (data)는 각각 'a'속성을 가진 약 600 개의 객체가있는 배열을 반환합니다. – TimeEmit
\\. map()은 길이 속성을 console.log (=. map (data, function (element) {return element; ... – TimeEmit