Проверка Javascript по крайней мере 2 строки в массиве не являются пустыми - PullRequest
0 голосов
/ 03 октября 2018

У меня есть массив из 4 строк с именем options

В настоящее время я проверяю, что все элементы в нем не пустые:

options.every(option => Boolean(option))

Я хочу вместо этого проверитьчто по крайней мере 2 непустые, некоторые примеры:

Действительный

["opt1", "opt2", "", ""]  
["opt1", "opt2", "", "opt4"]

Неверный

["opt1", "", "", ""]  
["", "", "", ""]

Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Вы можете использовать метод js filter для проверки.

const arr1 = ["opt1", "opt2", "", "opt4"];
const arr2 = ["opt1", "", "", "opt4"];

const isValid = (arr) => {
  return arr.filter(item => {
    return item.length === 0;
  }) < 2;
}

console.log(isValid(arr1));
console.log(isValid(arr2));
0 голосов
/ 03 октября 2018

function hasEmptyStrings(arr, n) {
  return arr.filter(e => !e).length <= n
}

var arrays = [
  ["opt1", "opt2", "", ""],
  ["opt1", "opt2", "", "opt4"],
  ["opt1", "", "", ""],
  ["", "", "", ""]
]

arrays.forEach(arr => {
  console.log(hasEmptyStrings(arr, 2))
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...