Javascript 将多个数组的索引添加到一起
我试图在每个索引处添加多个数组的值。 例如 我目前的做法如下。 我每天都在寻找股票之间的百分比变化(第1天、第2天、第3天等) 然后我移动到下一个股票,我想把股票1和股票2的百分比变化加在一起。ie将新的百分比更改附加到旧的百分比更改 我想做的是检查索引是否作为键存在于对象中,如果存在,则将diff图添加到此索引中 如果索引不存在,我只想添加差异图 当指数不存在,但当指数确实存在时(即第二、第三只股票等),该指数的旧值将被新值覆盖 我想把它们加在一起 有没有简单的清洁解决方案Javascript 将多个数组的索引添加到一起,javascript,Javascript,我试图在每个索引处添加多个数组的值。 例如 我目前的做法如下。 我每天都在寻找股票之间的百分比变化(第1天、第2天、第3天等) 然后我移动到下一个股票,我想把股票1和股票2的百分比变化加在一起。ie将新的百分比更改附加到旧的百分比更改 我想做的是检查索引是否作为键存在于对象中,如果存在,则将diff图添加到此索引中 如果索引不存在,我只想添加差异图 当指数不存在,但当指数确实存在时(即第二、第三只股票等),该指数的旧值将被新值覆盖 我想把它们加在一起 有没有简单的清洁解决方案 您可以像这样使用
您可以像这样使用地图:
const arr1=[100110121]
常数arr2=[20,25,27.5]
const newArr=arr1.map((i,idx)=>i+arr2[idx])
//结果:[120135148.5]
或者,如果数组位于对象中:
const test={arr1:[100110121],arr2:[202527.5]}
const newArr=test.arr1.map((i,idx)=>i+test.arr2[idx])
//结果:[120135148.5]
还有一种方法:
let fr = []
arr1.forEach((d,index)=>{
fr.push(d + arr2[index])
})
console.log(fr)
你有一些数据和想要的结果吗?顺便说一句,第一个加法看起来是错误的。想要得到的结果是什么?数组是两个不同对象的一部分,这仍然有效吗?
test=[{o:[10,20,30]},{o:[10,40,60]}]
Yes-我将用一个例子更新答案,如果它们在不同的对象中会怎么样?那可能吗?是的。。只需使用正确的对象引用来代替此处的“test:test.arr2[idx]
accumPercent = {}
const portfolio = props.test.map((item) => {
let oldPrice = item.res.data.o[0]
item.res.data.o.map((item1, index) => {
let diff = ((item.res.data.c[index] - oldPrice) / oldPrice) * 100
oldPrice = item.res.data.c[index]
if (index in Object.keys(accumPercent)) {
accumPercent[index] = accumPercent[index] + diff
} else {
accumPercent[index] = diff
}
})
})
let example = [
{
o: [10, 20, 30]
},
{
o: [10, 40, 60]
}
]
let fr = []
arr1.forEach((d,index)=>{
fr.push(d + arr2[index])
})
console.log(fr)