读取数组中对象的值--javascript

时间:2018-04-18 05:30:02

标签: javascript arrays object

下面是我在数组中的对象。我需要显示读取此数组的列表。

let res = {      
  details: [
        {
            "code":"123",
            "name":"tye"
        },
        {
            "code":"456",
            "name":"San Joaquin"
        },
        {
            "code":"789",
            "name":"Stanislaus"
        },
    ]
};

我需要阅读并显示不起作用的details.code。我需要显示所有code

的列表
123
456
789

我不需要个人来展示。与details[0].code不同。以下是我的工作

let det = [];
Object.keys(res.details).forEach((code) => {            
     det.push(res.details[code])
});

此处det未提供code的列表。怎么做到这一点?

7 个答案:

答案 0 :(得分:2)

使用map功能。它比单独的数组和使用forEach推送项更合适。



let res = {      
  details: [
        {
            "code":"123",
            "name":"tye"
        },
        {
            "code":"456",
            "name":"San Joaquin"
        },
        {
            "code":"789",
            "name":"Stanislaus"
        },
    ]
};

const mapped = res.details.map(item => item.code);

console.log(mapped);




您还可以在参数列表

中销毁对象
const mapped = res.details.map(({ code }) => code);

答案 1 :(得分:1)

尝试Case# ANYCOLNAME CaseType ---------------------------------- CB190 OK Civil cg904 PLTF Civil cg905 Def Civil cg906 None Civil 更适合您的情况:



map()




如果您想使用let res = { details: [ { "code":"123", "name":"tye" }, { "code":"456", "name":"San Joaquin" }, { "code":"789", "name":"Stanislaus" }, ] }; let codeArr = res.details.map(c => c.code); console.log(codeArr);,请忽略forEach()



Object.keys




答案 2 :(得分:1)

试试这个

let res = {      
  details: [
        {
            "code":"123",
            "name":"tye"
        },
        {
            "code":"456",
            "name":"San Joaquin"
        },
        {
            "code":"789",
            "name":"Stanislaus"
        },
    ]
};
var data = res.details.map(function(item) { return item["code"]; });

console.log(data);
    

答案 3 :(得分:1)

这里你可能不需要Object.keys。使用数组map方法,它将返回一个代码值数组

let res = {
  details: [{
      "code": "123",
      "name": "tye"
    },
    {
      "code": "456",
      "name": "San Joaquin"
    },
    {
      "code": "789",
      "name": "Stanislaus"
    },
  ]
};
let det = res.details.map((code) => {
  return code.code
});
console.log(det)

答案 4 :(得分:1)



 
 $(document).ready(function(){
 var details = [
        {
            "code":"123",
            "name":"tye"
        },
        {
            "code":"456",
            "name":"San Joaquin"
        },
        {
            "code":"789",
            "name":"Stanislaus"
        },
    ]

for(var i=0;i< details.length;i++)
{
   var markup='<li>'+ details[i].code+'</li>';
    $('ul').append(markup);
}
 });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<ul>
</ul>
</body>
&#13;
&#13;
&#13;

答案 5 :(得分:1)

let res = {      
  details: [
        {
            "code":"123",
            "name":"tye"
        },
        {
            "code":"456",
            "name":"San Joaquin"
        },
        {
            "code":"789",
            "name":"Stanislaus"
        },
    ]
};

var arr = [];
for (var key in res.details) {
    var obj = res.details[key].code;
    arr.push(obj);
}
    console.log(arr);

答案 6 :(得分:0)

我不明白为什么人们用map建议答案。通常,当我们实际将对象数组修改为其他结构时,我们使用map。您可以使用forEach来实现此目的,然后在forEach {code}内的forEach内进行解构分配,以获取code函数的res.details属性值let res = { details: [ { "code":"123", "name":"tye" }, { "code":"456", "name":"San Joaquin" }, { "code":"789", "name":"Stanislaus" }, ] }; var codeArray = []; res.details.forEach(({code}) => codeArray.push(code)); console.log(codeArray);数组中的每个对象:

&#13;
&#13;
cache=false
&#13;
&#13;
&#13;