我有以下数组 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