首页 > 解决方案 > 我有一个具有相同值的数组需要删除所有其他值

问题描述

例如:

var arr = {
    "servicegroup": [{
            "name": "yy",
            "description": "yy",
            "isvalid": 1
        }, {
            "name": "yy",
            "description": "yy",
            "isvalid": 1]
    }
}

标签: angulartypescript

解决方案


算法方式:-

const arr = { "servicegroup": [ { "name": "yy", "description": "yy", "isvalid": 1 }, { "name": "yy", "description": "yy", "isvalid": 2 } ] };
const source = arr[ 'servicegroup' ];
const obj = {};
const res = [];
let i = 0;
let count = 0;
for (let i = 0; i < source.length; i++) {
    const el = source[ i ];
    if (count === 0) {
        obj[ el.name ] = true;
        *emphasized text*count++;
    }
    if (obj[ el.name ]) {
        res.push(el);
        delete obj[ el.name ];
    }
}
console.log(res);

推荐阅读