꽤 기본적인 질문입니다.하지만 그것에 대한 정보를 찾을 수 없습니다. D3를 통해객체 배열의 속성에 액세스하기
나는 어떻게 새로운 배열을 생성하고 각 요소를 누르지 않고 배열로 "번호"모든 속성의 배열에 액세스 할 수있는 CSV이
name: "whatever"
number: "52"
같은 각 개체의 모양을 분석?
꽤 기본적인 질문입니다.하지만 그것에 대한 정보를 찾을 수 없습니다. D3를 통해객체 배열의 속성에 액세스하기
나는 어떻게 새로운 배열을 생성하고 각 요소를 누르지 않고 배열로 "번호"모든 속성의 배열에 액세스 할 수있는 CSV이
name: "whatever"
number: "52"
같은 각 개체의 모양을 분석?
JavaScript에서는 이러한 배열이 없기 때문에 사용자가 할 수 없습니다. 배열이 있다면, 각각의 객체는 소중한 작은 눈송이입니다. 물론 "숫자"값을 새 배열로 전송할 수는 있지만 확실히 새로운 배열이됩니다.
일부 툴킷 (프로토 타입 및 기능적 및 언더 코어)에는 원하는대로 정확하게 수행 할 수 있도록 설계된 "뽑아 내기"기능이 있지만 새 배열을 만들어야합니다. 그런 다음
function pluck(array, property) {
var i, rv = [];
for (i = 0; i < array.length; ++i) {
rv[i] = array[i][property];
}
return rv;
}
:
var arrayOfNumbers = pluck(originalArray, "number");
아마도 루프에서 호출되고 각 객체의 주어진 속성의 값을받는 콜백을 받아들이는'pluck '을 강화할 필요가 있습니다. 배열은 여전히 콜백에서 반환 된 값 배열을 반환하는 데 사용될 수 있습니다. – RightSaidFred
Funny, @ RightSaidFred, 나는 그저 생각하고 있었다. :-) 그런 다음 그 기능이 실제로 "map()"이라고 부르는 것이고, "map"의 관점에서 "pluck()"를 구현할 수 있다는 것을 깨달았다.() ". – Pointy
매우 사실. 그것은 덜 유연한지도입니다! Duh !! – RightSaidFred
for (i=0; i<myArrayOfObjects.length; i++) {
doWhatever(myArrayOfObjects[i].number);
}
당신이 lodash 사용하는 경우, 당신은이 작업을 수행 할 수 있습니다
var numbers = _.map(originalArray, 'number')
각 개체의 모양이 다음과 같은 것을 의미합니까 :'{ "name": "whatever", "number": 52}'이 개체들의 배열을 가지고 있습니까? –
번호 필드에 직접 액세스 할 수 있습니다. [i] [ "number"] 또는 무언가 [i]. number ...를 사용할 수도 있습니다. 이전에 언급 한 방법으로 직접 액세스하지 않고 별도의 어레이로 사용하는 특별한 이유가 있습니까? –