Удалить свойства на основе имени

0

У меня есть объект с назначенными свойствами (ключами) к этому объекту, теперь я использую метод Object.getOwnPropertyNames(), чтобы получить массив со всеми свойствами, назначенными этому объекту.

Проблема в том, что я хочу найти все свойства, содержащие строку "item", а затем устранить ее, не присваивая ей нулевое значение, возможно ли это без использования Regex? что-то вроде jQuery .contains()?

  • 1
    Циклически просматривая ключи, сравните имя ключа, чтобы проверить «элемент», если так, то delete его.
Теги:

2 ответа

2
Лучший ответ
Object.getOwnPropertyNames(obj).forEach(function(name) {
    if(name.indexOf('item') >= 0) {
        delete obj[name];
    }
});

Это чувствительно к регистру.

Используйте name.toLowerCase() для нечувствительности к регистру.

  • 0
    Почему отрицательный голос?
  • 0
    это клон предыдущего ответа, но все равно спасибо!
Показать ещё 3 комментария
1

Довольно простые

Попробуйте следующий фрагмент кода, чтобы получить желаемое значение из массива и удалить

Object.getOwnPropertyNames(obj).forEach(function(name) {
    if(name.indexOf('item') >= 0) {
        delete obj[name];
    }
});

Надеюсь, это может быть полезно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню