区分数组数组和值数组
Differentiate between array of arrays and array of values
本文关键字:数组 更新时间:2023-09-26
我有两个数组:
var firstarray = [123, 13, 34, 12, 63, 63];
var secondarray = [[10,20,10], [122, 123, 53], [542, 234, 12, 331]];
我需要一个像这样工作的功能:
function checkArray(array){
//if array contains multiple arrays, return true
//if the array contains only values, return false
}
secondarray
内部的数组数量总是变化的。
提示:在第一个数组上循环,并确定您正在读取的对象之一是否为数组。
这里有一个功能可以帮助你:
function is_array(input){
return typeof(input)=='object'&&(input instanceof Array);
}
在现代Javascript中:
myAry.every(Array.isArray) // returns true if all elements of myAry are arrays
参考文献(以及旧浏览器的替代品):
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
这方面的主要问题是,在JavaScript中,typeof anArrayVariable
和typeof aRealObject
一样返回object
,因此没有简单的方法来区分它们。
jQuery通过方法$.isArray()
在一定程度上修复了这一问题,该方法正确地为数组返回true,为对象、数字、字符串或布尔值返回false。
因此,使用jQuery变得像一样简单
function checkArray(array){
//if array contains multiple arrays, return true
//if the array contains only values, return false
for(var i=0;i<array.length;i++){
if($.isArray(array[i]))
return true;
}
return false;
}
我建议您可以在jQuery中查看该方法的源代码,并在普通javascript中实现同样的想法。
检查数组中第一个元素的类型:
function checkArray(list) {
return typeof(list[0]) == "object";
}
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- 如何通过数组更新角度子范围
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 在Javascript中转换对象数组
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串