Для заголовка вашего вопроса я предполагаю, что «удалить» означает изменить массив (изменить его фактическое содержимое).Если это так, вы можете сделать это так:
const copy = arr.slice(); // copy of array for iterating without getting the index (`i`) wrong
let count = 0;
copy.forEach((val, i) => { if (!val.value) arr.splice(i - count++, 1); });
// maybe `val.value != ""` instead of `!val.value` ?
Демо:
var arr = [{name: "mode",value: "1"}, {name: "group", value: ""}, {name: "from_date",value: ""}, {name: "to_date", value: "2018-10-16"}, {name: "action",value:"ac_filter_transactions"}];
const copy = arr.slice();
let count = 0;
copy.forEach((val, i) => { if (!val.value) arr.splice(i - count++, 1); });
console.log(arr); // print original array, not a copy
Или, если вы не хотите изменять массив (не изменяйте его фактическое содержимое), вы можете просто сделать (отфильтрованную) копию этого следующим образом:
const copy = arr.filter(val => !!val.value)
Демонстрация:
var arr = [{name: "mode",value: "1"}, {name: "group", value: ""}, {name: "from_date",value: ""}, {name: "to_date", value: "2018-10-16"}, {name: "action",value:"ac_filter_transactions"}];
console.log(arr.filter(val => !!val.value)); // print a copy, not the original array