키/값 JavaScript 개체의 키를 가져오는 방법
다음과 같은 JS 개체가 있는 경우:
var foo = { 'bar' : 'baz' }
내가 그것을 안다면,foo
기본 키/값 구조를 가지고 있지만 키 이름을 알 수 없습니다. 어떻게 얻을 수 있습니까?for ... in
?$.each()
?
for 루프를 사용하여 개체 내부를 반복합니다.
for(var i in foo){
alert(i); // alerts key
alert(foo[i]); //alerts key's value
}
또는
Object.keys(foo)
.forEach(function eachKey(key) {
alert(key); // alerts key
alert(foo[key]); // alerts value
});
다음과 같이 반복하지 않고 각 키에 개별적으로 액세스할 수 있습니다.
var obj = { first: 'someVal', second: 'otherVal' };
alert(Object.keys(obj)[0]); // returns first
alert(Object.keys(obj)[1]); // returns second
모든 키를 가져오려면 ECMA스크립트 5가 도입되었습니다.이것은 최신 브라우저에서만 지원되지만 MDC 설명서는 대체 구현을 제공합니다.for...in
btw):
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
둘 다 , 물론키값모원면다한두을와,▁of면다원▁you한,▁and,▁both.for...in
그것이 유일하게 합리적인 해결책입니다.
목표가 주어지면
var foo = { 'bar' : 'baz' }
갖기 위해bar
매개 변수:
Object.keys(foo)[0]
갖기 위해baz
매개 변수:
foo[Object.keys(foo)[0]]
단일 개체로 가정
이것이 가장 간단하고 쉬운 방법입니다.이렇게 하는 겁니다.
var obj = { 'bar' : 'baz' }
var key = Object.keys(obj)[0];
var value = obj[key];
console.log("key = ", key) // bar
console.log("value = ", value) // baz
Object.keys(obj) // ['bar']
이제 객체에 대해 반복할 수 있으며 아래와 같은 값에 액세스할 수 있습니다.
Object.keys(obj).forEach( function(key) {
console.log(obj[key]) // baz
})
당신을 위한 하나의 라이너:
const OBJECT = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'key4': 'value4'
};
const value = 'value2';
const key = Object.keys(OBJECT)[Object.values(OBJECT).indexOf(value)];
window.console.log(key); // = key2
// iterate through key-value gracefully
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}
MDN 참조
저도 같은 문제를 겪고 있었고 이것이 효과가 있었습니다.
//example of an Object
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
//How to access a single key or value
var key = Object.keys(person)[0];
var value = person[key];
개체의 키/값을 가져오는 가장 좋은 방법입니다.
let obj = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'key4': 'value4'
}
Object.keys(obj).map(function(k){
console.log("key with value: "+k +" = "+obj[k])
})
나는 다른 것을 볼 수 없습니다.for (var key in foo)
.
당신이 언급한 이후로$.each()
1jQuery 1.6+에서 .
var foo = { key1: 'bar', key2: 'baz' };
// keys will be: ['key1', 'key2']
var keys = $.map(foo, function(item, key) {
return key;
});
가장 쉬운 방법은 Underscore.js:
열쇠들.
_.keys(object) 개체 속성의 모든 이름을 검색합니다.
_.keywordone : 1, 2: 2, 3: 3}; => ["하나", "둘", "셋"]
네, 여러분은 여분의 도서관이 필요하지만, 그것은 매우 쉽습니다!
Javascript에서 객체 또는 맵의 키에 액세스하기 위한 각 루프에 사용
for(key in foo){
console.log(key);//for key name in your case it will be bar
console.log(foo[key]);// for key value in your case it will be baz
}
참고: 사용할 수도 있습니다.
Object.key(foo);
다음과 같은 출력을 제공합니다.
[bar];
Object.keys() Object.keys() 메서드는 for...in 루프에서 제공하는 것과 같은 순서로 지정된 개체 자체 열거 가능한 속성의 배열을 반환합니다(차이점은 for-in 루프가 프로토타입 체인에서도 속성을 열거한다는 것입니다).
var arr1 = Object.keys(obj);
Object.values() Object.values() 메서드는 for...in 루프에서 제공하는 것과 같은 순서로 지정된 개체 자체의 열거 가능한 속성 값 배열을 반환합니다(차이점은 for-in 루프가 프로토타입 체인에서도 속성을 열거한다는 것입니다).
var arr2 = Object.values(obj);
더 자세한 내용은 여기로 가십시오.
이외에는 방법이 없습니다for ... in
그것을 않다면 ( 테스트를 하는이 약간 일 것입니다.)hasOwnProperty
각 반복에서?) 그런 다음 다른 구성을 사용합니다. 예를 들어, kvp의 배열:
[{ key: 'key', value: 'value'}, ...]
음.$.each
반면에, 도서관 구조입니다.for ... in
네이티브 JS입니다. 더 좋을 것입니다.
개체를 사용할 수 있습니다.다음과 같은 키를 가져오는 키 기능:
const tempObjects={foo:"bar"}
Object.keys(tempObjects).forEach(obj=>{
console.log("Key->"+obj+ "value->"+tempObjects[obj]);
});
문자열로 표시하려면 다음을 사용합니다.
console.log("they are: " + JSON.stringify(foo));
만약 당신이 AWS CloudFront Functions를 사용하고 있다면, 이것은 당신에게 도움이 될 것입니다.
function handler(event) {
var response = event.response;
var headers = response.headers;
if("x-amz-meta-csp-hash" in headers){
hash=headers["x-amz-meta-csp-hash"].value;
console.log('hash is ' + hash);
}
}
읽기 쉽고 간단한 솔루션:
const object1 = {
first: 'I am first',
second: 'I am second'
};
for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
// expected output:
// "first: I am first"
// "second: I am second"
언급URL : https://stackoverflow.com/questions/6268679/how-to-get-the-key-of-a-key-value-javascript-object
'programing' 카테고리의 다른 글
PHP cURL GET 요청 및 요청 본문 (0) | 2023.07.25 |
---|---|
개체 속성으로 어레이에서 개체 제거 (0) | 2023.07.25 |
패키지에 파이썬 모듈의 이름을 나열하는 표준 방법이 있습니까? (0) | 2023.07.25 |
페르시아/아랍 숫자를 영어 숫자로 변환 (0) | 2023.07.25 |
페이지 요청 생성자가 더 이상 사용되지 않습니다. (0) | 2023.07.25 |