gpt4 book ai didi

javascript - 将动态值插入对象数组,javascript

转载 作者:行者123 更新时间:2023-11-30 16:04:30 25 4
gpt4 key购买 nike

我有一组看起来像这样的对象;

[
{Number: 5002000, Origin: 123456, Count: 128},
{Number: 5002300, Origin: 900231, Count: 52},
{Number: 5002022, Origin: 534323, Count: 269}
]

现在我尝试将“计数”值与指定价格池中的值相乘。

看起来像这样;

[
{Prefix: 50023, Price: 20},
{Prefix: 50020, Price: 10},
{Prefix: 5002, Price: 60},
]

目前有一个带有 if 语句的可怕的 for 循环。

for (var key in sData) {
if (sData[key].Origin.startsWith('50023')) {
sData[key].sum = (sData[key].Count * 20);
}
else if (sData[key].Origin.startsWith('50020')) {
sData[key].sum = (sData[key].Count * 10);
}
// continues...
}

startsWith 是一个简单地检查值是否以 (value) 开头的函数。

JS中已经有函数可以映射两个对象数组了吗? (我在逻辑上也有问题,因为“前缀”值基本上必须从上到下,而不是落在默认的“5002”前缀上。)

最佳答案

在这种情况下你应该使用嵌套循环。同时切换到 Array.forEach 方法。

sData.forEach(function(item_, key) {

prices.forEach(function(item) {

if (sData[key].Origin.startsWith(item.Prefix)) {
sData[key].sum = (sData[key].Count * item.Price);
}

});

})

关于javascript - 将动态值插入对象数组,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37248188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com