我有像这样的数组数据
[{id:1, cost:20, range:15} {id:2, cost:30, range:13}]
我想像这样使用jquery制作数组数据
cost : [20, 30]
range : [15, 13]
请告诉我该怎么做。
答案 0 :(得分:2)
使用 forEach
方法迭代并将值推送到数组
$notifications = \DB::table('notifications')
->select(\DB::raw("notifications.uuid , images.local_path as title_image" ))
->leftJoin('images',function ($join) {
$join->on('images.owner_uuid', '=' , 'notifications.uuid') ;
$join->where('images.relation','=','notification_title') ;
});
或使用 map()
方法并生成数组
var cost = [],
range = [];
var data = [{
id: 1,
cost: 20,
range: 15
} ,{
id: 2,
cost: 30,
range: 13
}];
data.forEach(function(v) {
cost.push(v.cost);
range.push(v.range);
});
console.log(cost, range);
答案 1 :(得分:0)
您可以使用Array#forEach()
和结果对象以及要分组的所需属性的数组。
var array = [{ id: 1, cost: 20, range: 15 }, { id: 2, cost: 30, range: 13 }],
result = {};
array.forEach(function (a) {
['cost', 'range'].forEach(function (k) {
result[k] = result[k] || [];
result[k].push(a[k]);
});
});
console.log(result);