Return 所有路口数组 javascript

Return ALL intersections array javascript

我当前的代码:

    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;
}

我怎样才能改变这个 returns 所有交叉索引?

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

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

你只需要将两个索引作为数组推送即可

而不是:

temp.push( first[i]);

你需要这样做:

temp.push([i,k]);