for循环嵌套

我有两个数组 A,B,然后我拿到A的面的每一个值去跟B里面的每一个值进行对比,有的话就取出A放在数组里,如果没有就在数组里补个空,这个循环要怎么写,本来A的长度都是12,结果返回了一个A*B长度的数组,但是我想返回的还是长度是12的数组,只不过A里有的,B没有,就在对应的位置补空

阅读 2.5k
2 个回答
A.map(v=>B.indexOf(v)<0?"":v)
var A = ["a","b","c"];
var B = ["b"];
function func(A,B){
    var arr = [];
    var str = "";
  for(var i=0;i<A.length;i++){
      str = "";
      for(var j=0;j<B.length;j++){
          if(A[i]==B[j]){
              str = A[i]//相等把 值 加进数组
              break;
          }
      }
      arr.push(str)
  }
return arr;
}
console.log(func(A,B))//["","b",""]

clipboard.png


var A = ["a","b","c"];
var B = ["b", "d"];

var arr = [];
for(var i=0;i<A.length;i++){
    var val = "";
    for(var j=0;j<B.length;j++){
        if(A[i]==B[j]){
            val = A[i];
        }
    }
    arr.push(val);
}

console.log(arr)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题