Я следующий код (используя Chrome)Javascript фильтр массива с названиями
<script>
var arr = [{
"id": 1,
"fn": "bill",
"ln": "blogs"
}, {
"id": 2,
"fn": "jim",
"ln": "jones"
}, {
"id": 3,
"fn": "bill",
"ln": "smith"
}];
var lookFor = "bill";
var result = arr.filter(function(item) {
return if (item.ln == lookFor) return true;
});
alert(result.length);
alert(result[0]["id"] + result[0]["fn"] + result[0]["ln"]);
</script>
Я пытаюсь фильтровать массив и вернуть те, что первое имя (п) является банкнота. Возврат id, fn и ln в окне сообщений.
Возможно, мне не хватает знания синтаксиса этого.
Почему у вас есть несколько «возвращений» в одной строке? – thefourtheye
Правильный синтаксис будет просто 'return item.ln === lookFor'. Нет необходимости в 'if (something) return true else return false' - он всегда заменяется простым' return !! something' (или просто 'return something', если это выражение всегда приводит к Boolean, операции сравнения делают. – raina77ow