【发布时间】:2015-04-15 02:01:05
【问题描述】:
我正在使用来自 Edmunds 汽车 API 的 JSON 数据。这是返回数据的简化版本:
[[
{drivenWheels: "front wheel drive", price: 32442},
{drivenWheels: "front wheel drive", price: 42492},
{drivenWheels: "front wheel drive", price: 38652},
{drivenWheels: "front wheel drive", price: 52402}
],
[{drivenWheels: "all wheel drive", price: 29902},
{drivenWheels: "all wheel drive", price: 34566},
{drivenWheels: "all wheel drive", price: 33451},
{drivenWheels: "all wheel drive", price: 50876}
]
]
在此示例中,有 2 个内部数组表示该车型可用的不同传动系统选项(前轮和全轮)。
我正在尝试为每个相应的传动系统找到最低价格,并将对象推入一个新阵列。在我的示例中,我希望最终结果是..
var finalArr = [{drivenWheels: "front wheel drive", price: 32442},{drivenWheels: "all wheel drive", price: 29902}]
我一直在尝试解决这个问题一段时间,但无法弄清楚。这是我目前所拥有的。
function findLowestPriceDrivenWheels(arr){
var wheelAndPriceArr = [];
var shortest = Number.MAX_VALUE;
for (var i = 0; i < arr.length; i++){
//loops inner array
for (var j = 0; j < arr[i].length; j++){
if(arr[i][j].price < shortest){
shortest = arr[i][j].price;
wheelAndPriceArr.length = 0;
wheelAndPriceArr.push(arr[i][j]);
}
}
}
console.log(wheelAndPriceArr);
return wheelAndPriceArr;
}
如果有 1 个内部数组。我可以让它工作。问题是当有 2,3 或 4 个内部阵列(代表传动系统)时。我想编写一个函数来处理 API 返回的任意数量的传动系统。 我实际上理解为什么我的解决方案不起作用。问题是我是新手,而且我在理解上遇到了障碍。解决方案有点超出我的掌握。
这里有 2 个类似的问题很有帮助,但它们涉及 1 个内部数组,我仍然无法弄清楚。任何帮助,将不胜感激! Here 和 Here
【问题讨论】:
标签: javascript jquery arrays object nested-loops