将数组中的多个对象转换为数组
Convert multiple objects in array into an array
我想转换这个:
var x = [{ order_id: 10,
product_id: 5,
product_after_price: 50 },
{ order_id: 10,
product_id: 6,
product_after_price: 50 }]
进入这个:
[[10, 5, 50], [10, 6, 50]]
我尝试了 .map() 函数,但它不起作用。任何帮助将不胜感激,谢谢!
这真的是一个非常简单的问题,我的善意建议是在 post 在这里提问之前,您应该先参考 javascript 核心功能。
var x = [{ order_id: 10,
product_id: 5,
product_after_price: 50 },
{ order_id: 10,
product_id: 6,
product_after_price: 50 }]
var arrValues = []
for(var index=0; index< x.length; index++){
if(!!x[index]){
arrValues.push(Object.values(x[index]));
}
}
console.log(arrValues);
如果你想在不同的JS引擎之间保证数组中值的顺序,你可以创建一个属性个键(order
)的数组,并迭代它来获取值按照要求的顺序。
const order = ['order_id', 'product_id', 'product_after_price'];
const x = [{"order_id":10,"product_id":5,"product_after_price":50},{"order_id":10,"product_id":6,"product_after_price":50}];
const result = x.map((o) => order.map((key) => o[key]));
console.log(result);
不考虑顺序,直接用map
arr.map( s => Object.values(s) )
但需要先指定顺序
var order = ["order_id", "product_id", "product_after_price"];
然后使用map
var output = arr.map( function(item){
return order.reduce( function(a,c){
a.push( item[c] );
return a;
}, []);
})
演示
var order = ["order_id", "product_id", "product_after_price"];
var x = [{
order_id: 10,
product_id: 5,
product_after_price: 50
},
{
order_id: 10,
product_id: 6,
product_after_price: 50
}
];
var output = x.map(function(item) {
return order.reduce(function(a, c) {
a.push( item[c] );
return a;
}, []);
});
console.log(output);
我想转换这个:
var x = [{ order_id: 10,
product_id: 5,
product_after_price: 50 },
{ order_id: 10,
product_id: 6,
product_after_price: 50 }]
进入这个:
[[10, 5, 50], [10, 6, 50]]
我尝试了 .map() 函数,但它不起作用。任何帮助将不胜感激,谢谢!
这真的是一个非常简单的问题,我的善意建议是在 post 在这里提问之前,您应该先参考 javascript 核心功能。
var x = [{ order_id: 10,
product_id: 5,
product_after_price: 50 },
{ order_id: 10,
product_id: 6,
product_after_price: 50 }]
var arrValues = []
for(var index=0; index< x.length; index++){
if(!!x[index]){
arrValues.push(Object.values(x[index]));
}
}
console.log(arrValues);
如果你想在不同的JS引擎之间保证数组中值的顺序,你可以创建一个属性个键(order
)的数组,并迭代它来获取值按照要求的顺序。
const order = ['order_id', 'product_id', 'product_after_price'];
const x = [{"order_id":10,"product_id":5,"product_after_price":50},{"order_id":10,"product_id":6,"product_after_price":50}];
const result = x.map((o) => order.map((key) => o[key]));
console.log(result);
不考虑顺序,直接用map
arr.map( s => Object.values(s) )
但需要先指定顺序
var order = ["order_id", "product_id", "product_after_price"];
然后使用map
var output = arr.map( function(item){
return order.reduce( function(a,c){
a.push( item[c] );
return a;
}, []);
})
演示
var order = ["order_id", "product_id", "product_after_price"];
var x = [{
order_id: 10,
product_id: 5,
product_after_price: 50
},
{
order_id: 10,
product_id: 6,
product_after_price: 50
}
];
var output = x.map(function(item) {
return order.reduce(function(a, c) {
a.push( item[c] );
return a;
}, []);
});
console.log(output);