js 數組對象去重

let hash = {};
    let config = [
      { name: 2, state: true, output: 'Y'}, 
      { name: 3, state: true, output: 'A'},
      { name: 5, state: true, output: 'S'},
      { name: 7, state: true, output: 'B'}
    ];
    config = [...config, { // 合併數組   ...運算符即爲數組展開運算符
      name: 3,
      state: false,
      output: 'A',
    }]
    const newArr = config.reduce((item, next) => {
      console.log('hash--',hash)
      console.log('next--',next.name)
      console.log('hash[next.name]--',hash[next.name])
      hash[next.name] ? '' : hash[next.name] = true && item.push(next);
      return item
    }, []);
//[{"name":2,"state":true,"output":"Y"},{"name":3,"state":true,"output":"A"},{"name":5,"state":true,"output":"S"},{"name":7,"state":true,"output":"B"}]
相關文章
相關標籤/搜索