两数组相同的元素赋相同值,不同的元素赋其他值


const arr1 = [
  ["a", 1],
  ["b", 2],
  ["c", 3],
];
const arr2 = ["a", "b", "c", "d", "e", "f"];

const arr3 = [
  ["a", 1],
  ["b", 2],
  ["c", 3],
  ["d", 0],
 ["e", 0],
  ["f", 0],
];

比较arr1与arr2,相同元素的结构不变, 不同元素对应则添加元素为 0, 见arr3.
谢谢!

const arr1 = [
    ["a", 1],
    ["b", 2],
    ["c", 3],
];
const arr2 = ["a", "b", "c", "d", "e", "f"];

let map = arr2.map(item => {
    let filter = arr1.filter(arr => arr[0] == item);
    return [item, filter.length == 0 ? 0 : filter[0][1]];
});

console.log(map)

img


    const x = ['a', 'b', 'c']
    const y = ['b', 'c']
    function unique1 (x, y) {
      var arr = x.concat(y)
      var obj = {}
      for (var i = 0; i < arr.length; i++) {
        (arr[i] in obj) ? obj[arr[i]] = true : obj[arr[i]] = false
      }
      console.log('......', obj)
      // {a: false, b: true, c: true}
      return obj
    }
    unique1(x, y)

提供参考链接,旨在更好的实现功能:https://blog.csdn.net/betterliumm/article/details/114636573
【仅为参考,博文中代码是把js数组中相同的值和不同的值, 来进行分别赋值】