![](/img/trans.png)
[英]Javascript: get value from nested array of object and make it an object key
[英]Javascript how to get value and key seperately from Array Object?
我有这种格式的 JS 数组,我想获取不同变量中的所有键,以及不同变量中的值。 这是我的代码。 我正在尝试获取不同变量中的键和值。
<script>
var testVar = [ {ANUMBER: "new message"}, {ANUMBER: "new message number"}, {ANUMBER: "new message email "},{AMDL: "new message"}];
for (var labelkey in testVar){
if (errorsarr.hasOwnProperty(labelkey)) {
var val = errorsarr[labelkey];
//console.log(val);
console.log(labelkey);
}
}
</script>
使用Object.entries() function,您会得到一个key
、 value
对数组,您可以使用for... of
循环对其进行循环。
var testVar = {1: "first", 2: "second", 3: "third"} for (let [key, value] of Object.entries(testVar)){ console.log(key, value) }
首先,您需要两个循环来访问数组 object 的每个键,因为您的testVar
是一个数组。 第一个循环遍历您的数组,第二个循环将遍历 object。
var testVar = [ {ANUMBER: "new message"}, {ANUMBER: "new message number"}, {ANUMBER: "new message email "},{ANUMBER: "new message"}]; JSON.stringify(testVar); for( labelkey in testVar){ var value= testVar[labelkey]; for( key in value ){ console.log("Key="+key, "and value="+value[key]); } }
您可以使用Object.entries
遍历每个元素并获取每个 object 的键和值。
var testVar = [{ 1: "new message" }, { 2: "new message number" }, { 3: "new message email " }, { 4: "new message" }]; var keys = []; var values = []; testVar.forEach(e => { var [key, value] = Object.entries(e)[0]; keys.push(key) && values.push(value) }); console.log(keys) console.log(values)
或者
var testVar = [{ 1: "new message" }, { 2: "new message number" }, { 3: "new message email " }, { 4: "new message" }]; var keys = testVar.map(e => Object.entries(e)[0][0]); var values = testVar.map(e => Object.entries(e)[0][1]); console.log(keys) console.log(values)
var testVar = [ {ANUMBER: "new message"}, {ANUMBER: "new message number"}, {ANUMBER: "new message email "},{AMDL: "new message"}];
ANUMBER_VALUE = [];
AMDL_VALUE = [];
for(var testvar of testVar){
for (let [key, value] of Object.entries(testvar)){
console.log("key: "+key)
console.log("value: "+value)
if(key == "ANUMBER"){
ANUMBER_VALUE.push(value);
}
else{
AMDL_VALUE.push(value);
}
}
}
console.log("ANUMBER_VALUE: "+ ANUMBER_VALUE)
console.log("AMDL_VALUE: "+ AMDL_VALUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.