我正在使用下面定义的数组
cat_id = Object { 2="text", 3="TKL1", -1="选择属性"}
。
当我尝试检索 "cat_id"
的长度时
var l = cat_id.length;
它显示长度为“未定义”
。
但是,我无法获取 "cat_id"
的长度。我无法使用 replace()
、indexOf()
和 split()
函数。
例如:
var index = cat_attr.indexOf(",")
显示错误如下:
TypeError: cat_attr.indexOf is not a function
最佳答案
这不是数组,这是对象。数组定义如下:[1,2,3]
。如果你想检索对象的“长度”,你可以这样做:
var students = {job:92, adam:67,sara:83};
var studentNames = Object.keys(students);
var studentsLength = studentNames.length;
如果你想将对象拆分为数组,你可以这样做:
var students = {jon:92, adam:67,sara:83};
var studentNames = Object.keys(students);
var studentArray = studentNames.map(function(name){
var student = {};
student.name = name;
student.grade = students[name];
return (student);
}); // [{name:jon,grade:92},{name:adam,grade:67},{name:sara,grade:83}]
关于javascript - 无法获取数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28957079/