javascript - 无法获取数组的长度

标签 javascript html arrays arraylist

我正在使用下面定义的数组

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/

相关文章:

javascript - AngularJS 和 JQuery UI 选项卡

javascript - 循环遍历 JQuery Id

html - 使用 CSS 在 div 中包装数据表分页控件

jquery - 使用 CSS 或 jQuery 将 HTML 中的匹配字符串与标题分开

javascript - Angular/javascript html 输入类型 'time' 在提交时显示错误时间

javascript - 指针事件 : none VML raphael solution

html - 如何将元素的高度扩展到 100vh 以上以包括整个可滚动区域?

php - SQL插入多行,foreach

ios - 使用 NSPredicate 随机化和搜索数组

java - 数组中最小值的索引; "recursive"