JavaScript의 속성 값을 배열로 선택해야합니까?
JavaScript 수업이 주어지면 :
var dataObject = {
object1: {id: 1, name: "Fred"},
object2: {id: 2, name: "Wilma"},
object3: {id: 3, name: "Pebbles"}
};
내부 개체를 배열로 처음으로 추출하는 방법은 무엇입니까? object [n] ID 에 대한 핸들을 필요가 없습니다 .
var dataArray = [
{id: 1, name: "Fred"},
{id: 2, name: "Wilma"},
{id: 3, name: "Pebbles"}]
var dataArray = [];
for(var o in dataObject) {
dataArray.push(dataObject[o]);
}
var dataArray = Object.keys(dataObject).map(function(k){return dataObject[k]});
ES6 버전 :
var dataArray = Object.keys(dataObject).map(val => dataObject[val]);
밑줄 사용 :
var dataArray = _.values(dataObject);
jQuery를 사용하면 다음과 같이 할 수 있습니다.
var dataArray = $.map(dataObject,function(v){
return v;
});
ES2017 사용 :Object.values
const dataObject = {
object1: {
id: 1,
name: "Fred"
},
object2: {
id: 2,
name: "Wilma"
},
object3: {
id: 3,
name: "Pebbles"
}
};
const valuesOnly = Object.values(dataObject);
console.log(valuesOnly)
dataObject가 행동 방식으로 정의되면 가정하면 다음을 수행합니다.
var dataArray = [];
for (var key in dataObject)
dataArray.push(dataObject[key]);
그리고 결국 내부 개체로 데이터 배열을 사용합니다.
받아 들여진 대답을 사용 하고 Object.values ( 가 ECMAScript 2017 Draft 에서 제안 확장) 알면 메소드 로 Object를 사용할 수 있습니다.
if(Object.values == null) {
Object.values = function(obj) {
var arr, o;
arr = new Array();
for(o in obj) { arr.push(obj[o]); }
return arr;
}
}
[내 대답은 @Anonymous와 대답을 얻은 방법을 설명하기 때문에 대답을 유지합니다.]
원래 객체에는 세 가지 속성 (즉, 키 3 개와 값 3 개)이 있습니다. 이것은 우리가 Object.keys()
그것을 3 개의 값을 가진 배열로 변환하기 위해 사용해야한다는 것을 제안 합니다.
var dataArray = Object.keys(dataObject);
// Gives: ["object1", "object2", "object3" ]
이제 3 개의 값이 있지만 우리가 추구하는 3 개의 값은 없습니다. 그래서 이것은 우리가 Array.prototype.map()
.
var dataArray = Object.keys(dataObject).map(function(e) { return dataObject[e]; } );
// Gives: [{"id":1,"name":"Fred"},{"id":2,"name":"Wilma"},{"id":3,"name":"Pebbles"}]
다소 장황하지만 강력하고 빠릅니다.
var result = [];
var keys = Object.keys(myObject);
for (var i = 0, len = keys.length; i < len; i++) {
result.push(myObject[keys[i]]);
}
이제 Object.values () 메서드가 지원됩니다. 이것은 객체의 값 배열을 제공합니다.
Object.values(dataObject)
참조 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values
d3를 사용하는 경우. 당신 d3.values(dataObject)
은 줄 수 있습니다
'ProgramingTip' 카테고리의 다른 글
Cocoapods 설치 오류 (0) | 2020.12.02 |
---|---|
imageView의 모서리 반경을 설정하는 방법은 무엇입니까? (0) | 2020.12.02 |
MotionEvent.ACTION_UP이 호출되지 않을 것입니다. (0) | 2020.12.02 |
암호 입력을 위해 React Native에서 TextInput 스타일을 어떻게 지정합니까? (0) | 2020.12.02 |
목록에없는 요소 찾기 (0) | 2020.12.02 |