繁体   English   中英

JavaScript:如何使数组中的两个元素等于任何给定数字

[英]JavaScript: How to get two elements in a array to equal any given number

我的问题是:

如果我有这样的数组,例如:

var myArray = [1,2,4,6,9]

我想通过获取(添加)6 和 9 的索引来获得数字 15。

我怎么做?

我无法让它工作,我已经无休止地尝试过......请帮忙。

我的尝试:

var list = [1,3,5,7,9]; 
function sumOfIndex(list , weight) { 
  weight = []; 
  for (i = 0; i < list.length; i++) {
    for (j = 0; j < list[i].length; j++) {
      list.push(weight); 
    } 
  } 
}

在您的示例中的数组中, 6 的索引是[3] , 9 的索引是[4]

只需将它们加在一起,您就有 15 个。

运行下面的代码片段:

 var myArray = [1,2,4,6,9] console.log(myArray[3] + myArray[4])

我会遍历数组并创建一个从每个元素的补充到其索引的映射:

function findSum (arr, sum) {
    const diffs = new Map();
    for (let i = 0; i < arr.length; ++i) {
        if (diffs.has(arr[i])) {
            return [diffs.get(arr[i]), i];
        }
        diffs.set(sum - arr[i], i);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM