【问题标题】:Javascript filter and remove based on property name [duplicate]Javascript根据属性名称过滤和删除[重复]
【发布时间】: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?

标签: javascript arrays object


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-07
    • 2020-11-03
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2015-03-24
    • 2020-12-13
    相关资源
    最近更新 更多