首页 > 解决方案 > 是否有 JavaScript 方法/函数可以通过键将对象循环到数组中?

问题描述

嘿,这是我的 API

 // --- API
        // Replace ./data.json with your JSON feed
        fetch('http://127.0.0.1:8000/cars/')
            .then(response => {
                return response.json()
            })
            .then(data => {
                // Work with JSON data here
                //-- go to array named "results"
                obj1 = data.results 
                console.dir(obj1) 

<...>

这是我的 API 输出。一些带有对象和随机数据的数组。

[{"id":3,"name":"Audi","price":11},{"id":2,"name":"Mercedes","price":22},{"id": 1,"name":"BMW","price":99},{"id":4,"name":"Trabant","price":113}]

我想通过它们的键将对象循环到 JavaScript 中的不同数组中。例如,Chart.js 可以将其作为标签处理。

例子

[“奥迪”、“奔驰”、“宝马”、“特拉班特”]

所以我尝试了这三种不同的方法来完成这项工作

Object.keys
Object.values
Object.entries

我也尝试了一个循环

                // --- LOOP
                var arr = obj1
                for (var i = 0; i < arr.length; i++) {
                    console.dir(arr[i]);
                }
                console.dir(arr)

但我只用循环摆脱了[ ],最后它太乱了。所以我问自己有没有类似的东西

{% for some_value in Object.name %}
{{ some_value ]}
{% endfor %}

就像在 Django 中一样?一个简单的循环遍历对象的关键?

标签: javascriptarraysloopschart.js

解决方案


尝试(我们使用标准地图箭头功能

let d = [{"id":3,"name":"Audi","price":11},{"id":2,"name":"Mercedes","price":22},{"id":1,"name":"BMW","price":99},{"id":4,"name":"Trabant","price":113}];

let r= d.map(x=>x.name);

console.log(r);


推荐阅读