1 = ложь и 0 = правда?

Вы можете использовать Array.prototype.filter() и Array.prototype.includes() следующим образом:

var arr1 = [{ id:1, thing_id: 2},
{ id: 1, thing_id: 3},
{ id: 1, thing_id: 4}];

var arr2 = [2,3]

var res = arr1.filter(i => arr2.includes(i.thing_id))
console.log(res);

24
задан svick 5 June 2015 в 17:24
поделиться

2 ответа

Обычно функции сравнения возвращают 0 на «равно», так что они также могут возвращать отрицательное число для «меньше чем» и положительное число для «больше чем». strcmp() и memcmp() работают так.

Однако идиоматично для нуля быть ложным и ненулевым быть истинным, потому что именно так работают управление потоком Си и логические логические операторы. Таким образом, возможно, что возвращаемые значения, выбранные для этой функции, хороши, но это ошибочное имя функции (на самом деле его просто следует назвать compare() или аналогичным).

35
ответ дан caf 5 June 2015 в 17:24
поделиться

Я подозреваю, что он просто следует стандарту Linux / Unix для , возвращая 0 при успехе .

Действительно ли говорится, что «1» - это ложь, а «0» - это правда?

5
ответ дан Community 5 June 2015 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: