我目前的代码:
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;
}
如何更改此值以便返回所有交叉点索引?
答案 0 :(得分: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
答案 1 :(得分:2)
您需要做的就是将两个索引作为数组推送
而不是:
temp.push( first[i]);
你需要这样做:
temp.push([i,k]);