我有一个对象数组。我想从中有效地提取键及其值。
示例:
let data = [{'Car':'Honda'}, {'car':'Volvo'}];
我要把car作为键及其值分开。我怎样才能高效地实现这一目标(甚至使用lodash)?
答案 0 :(得分:2)
您可以遍历数组并访问每个有问题的对象的键和属性值。
let data = [{
'Car': 'Honda',
'hello': 'hi'
}, {
'car': 'Volvo'
}];
data.forEach((obj) => {
Object.keys(obj).forEach((key) => {
console.log("key : " + key + " - value : " + obj[key]);
});
});
lodash片段
let data = [{
'Car': 'Honda',
'hello': 'hi'
}, {
'car': 'Volvo'
}];
_.forEach(data, (obj) => {
_.forEach(Object.keys(obj), (key) => {
console.log("key : " + key + " - value : " + obj[key]);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.core.min.js"></script>
答案 1 :(得分:1)
Object.entries
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
const newArray = data.map((item) => Object.entries(item));
// [[['Car', 'Honda']], [['car', 'Volvo']]]
答案 2 :(得分:0)
您可以使用Object.entries(obj)
遍历键和值。
data.forEach((obj) =>
Object.entries(obj).forEach(([key, value]) =>
console.log(key, value)));
let data = [{
'Car': 'Honda',
'hello': 'hi'
}, {
'car': 'Volvo'
}];
data.forEach((obj) =>
Object.entries(obj).forEach(([key, value]) =>
console.log(key, value)));
答案 3 :(得分:0)
简单而简单的方法是:
var data = [{
'Car': 'Honda'
}, {
'Car': 'Volvo'
}];
var j = 0;
var carNames= [];
for (var i = 0; i < data.length; i++){
var nameOfCar = data[i];
if(nameOfCar.hasOwnProperty('Car')){
carNames[j] = nameOfCar['Car'];
j++;
}
}
console.log(carNames);