我需要编写一个函数,如果多维数组中存在值,则返回true;如果多维数组中的至少一个数组中不存在该值,则返回false。
function isItemOmnipresent (arrayOfArrays, item) {
var arrays = arrayOfArrays;
var itemCheck = item;
for(var i = 0; i < arrays.length; i++){
for(var j = 0; j < arrays[i].length; j++){
if(arrays[i][j] == itemCheck) {
return true;
} else {
return false;
}
}
}
您可以使用类似这样的功能-参见以下https://jsfiddle.net/jde2urL6/:
function isValuePresent(arr, value) {
var result = false;
if (Array.isArray(arr)) {
for (var i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
result = isValuePresent(arr[i], value);
}
else {
if (arr[i] === value)
result = true;
}
}
}
return result;
}
当for循环遍历数组中的每个数组元素时,它将检查该项目是否为(嵌套的)数组,如果是,则该方法将自身回调(递归)以检查嵌套数组中的任何元素是否具有匹配值。如果元素不是数组,则根据所需的“查找”值检查该元素的值-如果是,则将结果设置为true。我在下面添加了“视觉效果”(流程从第一条红色水平线开始)。我希望能带来更多的澄清。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句