Удаление точного объекта в массиве, когда значение ложно - PullRequest
0 голосов
/ 23 мая 2018

Мой код выглядит следующим образом:

var data = someDataWhichComesFromOtherMethod
var array = [
    {name: "one", value:"data1", caption:"aaa"...},
    {name: "two", value:"data2", caption:"bbb"...},
    {name: "three", value:"data3", caption:"ccc"...},
    {name: "four", value:"data4", caption:"ddd"...}
    ...
]

Что я хочу сделать: сначала проверить, не является ли array пустым, а затем проверить, является ли входящий data истинным или нет, и когдаэто не так, весь объект нужно удалить из массива.

Я начал с:

if (array && array.length) {
    //true
} else {
    //false
}

Например, если data4 равно null или "", array должно выглядеть так:

var array = [
    {name: "one", value:"data1", caption:"aaa"...},
    {name: "two", value:"data2", caption:"bbb"...},
    {name: "three", value:"data3", caption:"ccc"...}
    ...
]

1 Ответ

0 голосов
/ 23 мая 2018

Если вы пытаетесь проверить значение value и удалить элемент из массива, когда он равен falsey, вы можете использовать filter , чтобы получить элементы, которые truthy.

var array = [
    {name: "one", value:"data1", caption:"aaa"},
    {name: "two", value:"data2", caption:"bbb"},
    {name: "three", value:"data3", caption:"ccc"},
    {name: "four", value:null, caption:"ddd"},
    {name: "five", value:"", caption:"eee"}
]

var result = array.filter(item => item.value)

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...