- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试处理 JSON 对象并进行数学计算来计算权重。顺序在我的算法中很重要,但 JSON 对象中的产品顺序会按照客户将其添加到购物车的顺序传递给我。我需要以相同的方式对许多属性进行排序。
在以下示例中,客户以“错误”(1.5,1,1.25) 的顺序添加了产品,因此 object.products 如下所示:
"products":[
{
"quantity": 3,
"weight_each": 1.5
},
{
"quantity": 4,
"weight_each": 1
},
{
"quantity": 2,
"weight_each": 1.25
}
我的第一步是将这些对象添加到更键盘友好的数组中:
for (var i = 0; i < object.products.length; i++)
{
quantity[i] = object.products[i].quantity;
weight[i] = object.products[i].weight_each;
}
如前所述,我的算法要求产品按重量排序(升序)。我知道如何独立地对每个数组进行排序 [weight.sort()],但我不知道如何对每个数组进行排序,以便排序后,weight[0] 和 amount[0] 引用相同的产品。
我的最终结果应该如下所示:
console.log(weight) // [1,1.25,1.5]
console.log(quantity) // [4,2,3]
我用谷歌搜索了许多不同的短语并尝试了几种不同的方法。如果这个问题已经得到解答,或者这是一个基本问题,我深表歉意。我似乎无法独自克服这个障碍,非常感谢所有答案! :)
最佳答案
在将 quantity
和 weight_each
分成两个未连接的数组之前,对 weight_each
上的 products 数组进行排序:
input = '{"products":[{"quantity":3,"weight_each":1.5},{"quantity":4,"weight_each":1},{"quantity":2,"weight_each":1.25}]}';
data = JSON.parse( input );
data.products.sort( function(a,b){return a.weight_each - b.weight_each; } );
for ( var i = 0; i < data.products.length; i++)
{
quantity[i] = data.products[i].quantity;
weight[i] = data.products[i].weight_each;
}
关于javascript - 以相应的 JavaScript 方式对相关数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21081626/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!