我有以下數組 array = [['apple',23,1,20],['orange',12,10,10]] 我檢查10是否存在於上述數組中?我嘗試使用array.indexOf,但它不能很好地工作。可以有人幫忙嗎?檢查一個元素是否已經存在於javascript中的數組中
回答
.indexOf()
將工作,問題是與array
變量。array
變量本身包含2個不同的數組。
請嘗試下面的代碼。
var array = [
['apple', 23, 1, 20],
['orange', 12, 10, 10]
];
for (var i = 0; i < array.length; i++) { //Iterate through arrays in array
if (array[i].indexOf(10) > -1) {
alert("Yep");
} else {
alert("nope");
}
}
入住這JSFiddle
的問題可能是因爲:
- 你嵌套陣列不支持
- Array.indexOf所有瀏覽器都
以下應該工作:
function includes(arrayOfArrays, item) {
var array, i, j;
for(i=0; i<arrayOfArrays.length; ++i) {
array = arrayOfArrays[i];
for(j=0; j<array.length; ++j) {
if(array[j] === item) {
return true;
}
}
}
return false;
}
在ECMAScript 5
,有兩個陣列方法some
和indexOf
var search = 10 ;
var found = a.some(function(v) {
return v.indexOf(search) !== -1 ;
});
if (found) {
alert('exists')
}
+1有趣,看起來優雅。循環變得簡單,我創建了一個小提琴http://jsfiddle.net/praveen_jegan/eqVbz/2/。它支持所有瀏覽器的一個問題是什麼?特別是IE? – Praveen
@ user1671639請查看http://kangax.github.io/es5-compat-table/ – rab
即9+,但有[shim可用](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some#Compatibility),默認情況下沒有它的瀏覽器。 @rab,可能希望在調用'indexOf'之前檢查v是否爲數組。 – thgaskell
您可以使用下面的代碼在數組中進行搜索。
<!DOCTYPE html>
<html>
<body>
<script>
var i,j;
var toFind = 10;
var array = new Array();
array = [['apple',23,1,20],['orange',12,10,10]]
for (i=0;i<array.length;i++)
{
for(j=0;j<array[i].length;j++)
{
if(array[i][j] == toFind)
document.write("element found <br/>");
}
}
</script>
</body>
</html>
其中toFind是要查找的元素或數字。
- 1. 如何檢查數組中是否已經存在一個元素
- 2. indexof - 檢查一個值是否已經在javascript數組中)
- 3. 檢查數組是否已經存在於一個VBA數組中
- 4. 如何檢查DOM中是否已經存在三個元素
- 5. 檢查元素是否已經在Java數組中
- 6. 檢查數組是否已經存在於會話中
- 7. 如何檢查數據網格中是否已經存在一個元素
- 8. 檢查一個項目是否已經存在於JComboBox中?
- 9. 檢查一個項目是否已經存在於listbox1中
- 10. 檢查SQLite數據庫中是否已經存在一個值
- 11. CodeIgniter - 檢查數據庫中是否已經存在一個值
- 12. GNU-make檢查元素是否存在於列表/數組中
- 13. 的Javascript:檢查是否從數組中的元素在另一個數組
- 14. 檢查數組元素是否存在
- 15. 檢查數組元素是否存在
- 16. 檢查一個數組中的元素是否爲數組或不在javascript/jquery
- 17. 檢查數據是否已經存在於chrome.storage.sync中
- 18. 檢查記錄是否已經存在於數據庫中
- 19. 用於檢查數組中是否存在元素的javascript自定義方法
- 20. 檢查數據是否已經存在
- 21. 檢查輸入是否已經輸入到一個數組中
- 22. 如何檢查一個集合是否已經存在於ArangoDB
- 23. 檢查元素中的class是否等於一個值javascript
- 24. 檢查一個項目是否已經存在於一個txt文件中
- 25. 檢查一個數字是否已經存在於python列表中
- 26. 如何檢查一個MySQL數據庫是否已經存在於PHP中?
- 27. 檢查一個元素是否存在
- 28. 如何檢查一個IP是否已經存儲在mysql中?
- 29. 檢查列表元素是否存在於另一個列表的元素中
- 30. 如何檢查一個實體是否已經存在於永久存儲中
爲什麼它不能正常工作?因爲你有嵌套的數組? – Armand