Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将多个数组的索引添加到一起_Javascript - Fatal编程技术网

Javascript 将多个数组的索引添加到一起

Javascript 将多个数组的索引添加到一起,javascript,Javascript,我试图在每个索引处添加多个数组的值。 例如 我目前的做法如下。 我每天都在寻找股票之间的百分比变化(第1天、第2天、第3天等) 然后我移动到下一个股票,我想把股票1和股票2的百分比变化加在一起。ie将新的百分比更改附加到旧的百分比更改 我想做的是检查索引是否作为键存在于对象中,如果存在,则将diff图添加到此索引中 如果索引不存在,我只想添加差异图 当指数不存在,但当指数确实存在时(即第二、第三只股票等),该指数的旧值将被新值覆盖 我想把它们加在一起 有没有简单的清洁解决方案 您可以像这样使用

我试图在每个索引处添加多个数组的值。 例如

我目前的做法如下。 我每天都在寻找股票之间的百分比变化(第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)