var index = items.indexOf(3452);
if (index !== -1) {
items[index] = 1010;
}
Ngoài ra, bạn không nên sử dụng phương thức constructor để khởi tạo mảng của mình. Thay vào đó, hãy sử dụng cú pháp theo nghĩa đen:
var items = [523, 3452, 334, 31, 5346];
Bạn cũng có thể sử dụng ~
toán tử nếu bạn đang sử dụng JavaScript ngắn gọn và muốn rút ngắn -1
so sánh:
var index = items.indexOf(3452);
if (~index) {
items[index] = 1010;
}
Đôi khi tôi thậm chí thích viết một contains
hàm để trừu tượng kiểm tra này và giúp dễ hiểu hơn những gì đang diễn ra. Điều tuyệt vời là điều này hoạt động trên mảng và chuỗi cả:
var contains = function (haystack, needle) {
return !!~haystack.indexOf(needle);
};
// can be used like so now:
if (contains(items, 3452)) {
// do something else...
}
Bắt đầu với ES6 / ES2015 cho các chuỗi và được đề xuất cho ES2016 cho các mảng, bạn có thể dễ dàng xác định hơn nếu một nguồn có chứa giá trị khác:
if (haystack.includes(needle)) {
// do your thing
}