JavaScript에서 객체를 반복하는 방법이 있는지 궁금합니다.
for(var i in myObject) {
// ...
}
그러나 이와 같이 각 속성의 이름을 얻으십시오.
for(var i in myObject) {
separateObj[myObject[i].name] = myObject[i];
}
Google에서 이와 비슷한 것을 찾을 수 없습니다. 그들은 변수의 이름을 그들과 함께 전달한다고 말하지만 이것은 내가 달성하려는 것에 대한 옵션이 아닙니다.
도움을 주셔서 감사합니다.
답변
Object.keys ()를 사용하십시오 .
var myObject = { a: 'c', b: 'a', c: 'b' };
var keyNames = Object.keys(myObject);
console.log(keyNames); // Outputs ["a","b","c"]
Object.keys()
입력 객체에 속하는 속성 이름 배열을 제공합니다.
답변
i
이름입니다.
for(var name in obj) {
alert(name);
var value = obj[name];
alert(value);
}
그래서 당신은 할 수 있습니다 :
seperateObj[i] = myObject[i];
답변
면책 조항
나는 “객체가 부착 된 속성 이름을 알 수 있습니까?”라는 질문을 오해했지만 일부 사람들은 그것을 찾는 동안 여기에 올 수 있기 때문에 답을 남기기로 결정했습니다.
아니요, 객체를 여러 속성에 연결할 수 있으므로 이름을 알 수 없습니다.
var obj = {a:1};
var a = {x: obj, y: obj}
obj의 이름은 무엇입니까?
for 루프에서 속성 이름을 원하지 않습니까?
for (var propName in obj) {
console.log("Iterating through prop with name", propName, " its value is ", obj[propName])
}
답변
객체를 쉽게 반복 할 수 있습니다
예 : 객체가 var a = {a : ‘apple’, b : ‘ball’, c : ‘cat’, d : ‘doll’, e : ‘elephant’} 인 경우;
Object.keys(a).forEach(key => {
console.log(key) // returns the keys in an object
console.log(a[key]) // returns the appropriate value
})
답변
위치별로 객체 속성에 직접 액세스하려면 … 일반적으로 속성 [0]에 유용합니다 … 그래서 추가 정보에 대한 정보를 보유하거나 첫 번째로드 된 외부 모듈의 node.js ‘require.cache [0]’에 등
Object.keys( myObject )[ 0 ]
Object.keys( myObject )[ 1 ]
...
Object.keys( myObject )[ n ]
답변
“Object.keys (obj)”외에, 우리는 매우 간단한 “for … in”루프를 가지고 있는데, 이것은 객체의 열거 가능한 속성 이름을 반복합니다.
const obj = {"fName":"John","lName":"Doe"};
for (const key in obj) {
//This will give key
console.log(key);
//This will give value
console.log(obj[key]);
}
답변
모국어가 무엇인지에 따라 객체의 속성 또는 “배열 키”또는 “배열 인덱스”를 가져 오려면 ….. Object.keys () 메서드를 사용하십시오.
중요 : 이것은 “현대 브라우저”와만 호환됩니다 :
따라서 객체가 호출되면 myObject …
var c = 0;
for(c in myObject) {
console.log(Object.keys(myObject[c]));
}
사람! 이것은 최신 파이어 폭스와 ie11 및 크롬에서 확실히 작동합니다 …
다음은 MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys의 설명서입니다.