Javascript根据属性名称过滤和删除[重复]

Posted

技术标签:

【中文标题】Javascript根据属性名称过滤和删除[重复]【英文标题】:Javascript filter and remove based on property name [duplicate] 【发布时间】:2021-10-19 11:36:54 【问题描述】:

我有像下面这样的 js 对象


    "1": 
        "id": 1,
        "ltp": 35110
    ,
    "2": 
        "id": 2,
        "ltp": 35110
    ,
    "3": 
        "id": 3,
        "ltp": 35110
    ,
    "4": 
        "id": 4,
        "ltp": 35110
    ,
    "5": 
        "id": 5,
        "ltp": 35109.35
    ,
    "6": 
        "id": 6,
        "ltp": 35109.75
    ,
    "7": 
        "id": 7,
        "ltp": 35105.3
    ,
    

如果属性值小于 N,我如何运行过滤器并删除值。 如果没有属性名称,我可以删除

myArray = myArray.filter(function( obj ) 
        return obj.id > cleanSize;
    );

这里的属性是字符串 "1" , "2" .. 等等

【问题讨论】:

你在混淆数组和对象 哪个值小于 N? idltp? 【参考方案1】:

const threshold = 4;
const input = 
    "1": 
        "id": 1,
        "ltp": 35110
    ,
    "2": 
        "id": 2,
        "ltp": 35110
    ,
    "3": 
        "id": 3,
        "ltp": 35110
    ,
    "4": 
        "id": 4,
        "ltp": 35110
    ,
    "5": 
        "id": 5,
        "ltp": 35109.35
    ,
    "6": 
        "id": 6,
        "ltp": 35109.75
    ,
    "7": 
        "id": 7,
        "ltp": 35105.3
    ,
    
;

const output = ;
Object.keys(input).forEach((key) => 
  if (Number(input[key].id) >= threshold) 
    output[key] = input[key];
  
);
console.log(output);

【讨论】:

以上是关于Javascript根据属性名称过滤和删除[重复]的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法过滤/避免 keycloak SAML 断言中的重复属性名称?

根据对象中键的名称过滤对象数组[重复]

使用工作表名称和删除隐藏行自动过滤

根据自定义对象属性从数组列表中删除元素

根据一列删除重复项并根据另一表中的数据进行过滤

过滤 NSFetchedResultsController 以删除具有相同名称的对象