Существует ли метод / функция JavaScript для зацикливания объектов с помощью ключей в массив? - PullRequest
4 голосов
/ 25 апреля 2019

Hy, это мой 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, "имя": "БМВ", "цена": 99}, { "ID": 4, "имя": "Трабант", "цена": 113}]

Я хотел бы зациклить объекты по их ключам в различных массивах в JavaScript.Например, Chart.js может обрабатывать его как метки.

Пример

["Audi", "Mercedes", "BMW", "Трабант "]

Итак, я попробовал эти три разных метода, чтобы выполнить работу

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?Простой цикл по объектам по их ключу?

Ответы [ 2 ]

5 голосов
/ 25 апреля 2019

Попробуйте (мы используем стандартную карту и функцию стрелки )

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);
3 голосов
/ 25 апреля 2019

Вы можете использовать функцию map.

let result = arr.map(({name}) => name);

Массив result будет содержать названия брендов.

Пример

let arr = [{"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 result = arr.map(({name}) => name);
console.log(result);
.as-console-wrapper { min-height: 100%; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...