0

我当前的代码:

    function intersect(first, second) {
    var temp = [];
    for(var i = 0; i < first.length; i++){
        for(var k = 0; k < second.length; k++){
            if(first[i] == second[k]){
                temp.push( first[i]);
                break;
            }
        }
    }

  return temp;
}

如何更改它以返回所有交叉点索引?

4

2 回答 2

3

您需要将索引添加到结果中;

function intersect(first, second) {
  var temp = [];
  for(var i = 0; i < first.length; i++){
    for(var k = 0; k < second.length; k++){
      if(first[i] == second[k]){
        temp.push([i, k]); // push i and k as an array
      }
    }
  }

  return temp;
}

break;如果您还想选择重复的精确交叉点,也请删除。

在这里找到一个运行示例:http: //jsfiddle.net/0tL9sk5w/1

于 2015-03-10T17:47:23.540 回答
2

您需要做的就是将两个索引作为数组推送

代替 :

temp.push( first[i]);

你需要这样做:

temp.push([i,k]);
于 2015-03-10T17:49:08.917 回答