Làm cách nào để kiểm tra xem chuỗi có chứa bất kỳ phần tử nào của mảng không? Tôi muốn lọc một số mảng nếu phần tử có một số chuỗi. Vui lòng xem mã dưới đây.Kiểm tra xem chuỗi có chứa bất kỳ phần tử nào của một mảng trong JavaScript
var arr = ['banana', 'monkey banana', 'apple', 'kiwi', 'orange'];
function checker(value) {
var prohibited = ['banana', 'apple'];
for (var i = 0; i < prohibited.length; i++) {
if (value.indexOf(prohibited[i]) == -1) {
return true;
} else {
return false;
}
}
}
arr = arr.filter(checker);
console.log(arr);
Kết quả là [ 'apple', 'kiwi', 'orange' ]
. Các 'apple'
nên được loại bỏ, nhưng nó không phải là.
Mã trên chỉ lọc 'chuối', không phải 'táo'. Tôi có nhiều từ khóa để lọc. Có cách nào dễ hơn không?
Tôi không thấy jQuery ở bất kỳ nơi nào được đề cập trong câu hỏi bởi OP, ngoài ra, một số giải thích về "cách mã của bạn hoạt động" sẽ hữu ích. –
JQuery không được đề cập nhưng người hỏi yêu cầu xác định một số cách dễ dàng hơn để anh ta có thể hiểu dễ dàng. Mã hoạt động tốt, bởi vì tôi đã thử nghiệm nó. ** mỗi ** chức năng tương tự như ** foreach **, do đó lồng nhau sẽ giải quyết vấn đề –
Chắc chắn điều này sẽ làm việc, không có nghi ngờ, nhưng chúng ta không nên cung cấp câu trả lời jQuery cho các câu hỏi JavaScript. –