Как проверить массив на соответствие по символам?

300
06 июля 2017, 04:24

К примеру есть массив

var arr = [ 'xyz', 'xzy', 'yxz', 'ex', 'yzx', 'zxy', 'zyx', 'zyxy' ]

Как можно проверить все его элементы так, чтобы отсекались только те, в которых есть только 3 символа 'x', 'y' и 'z' в любом порядке? То есть чтобы вывелся только элементы 'ex', 'zyxy'

Answer 1

Ну, похоже что придется идти некрасивым путем:

var arr = [ 'xyz', 'xyzy', 'xzy', 'yxz', 'ex', 'yzx', 'zxy', 'zyx', 'xz' ] 
 
 
var result = arr.filter(el => el.length !== 3 
                           || el.indexOf('x') < 0 
                           || el.indexOf('y') < 0 
                           || el.indexOf('z') < 0); 
 
console.log(result);

READ ALSO
Как сделать Input disabled? React + Bootstrap

Как сделать Input disabled? React + Bootstrap

На форме есть два инпутаКак в реакте сделать так, чтобы начиная вводить в одном Input-e, второй стал disabled Использую react-bootstrap и компонент FormControl...

309
Выделить найденную подстроку [дубликат]

Выделить найденную подстроку [дубликат]

На данный вопрос уже ответили:

249
Ошибка промиса в ie9

Ошибка промиса в ie9

Есть функция которая возвращает промис с xmlhttprequest, код компилируется с полифилами бабеляНо вот в ie9 возникает такая вот ошибка:

321
Протестировать функцию из const

Протестировать функцию из const

Как в Jasmine протестировать данный код, а именно метод getNumber()?

275