无法获取数组的长度
Unable to get the length of an array
>我正在使用下面定义的数组
cat_id = Object { 2="text", 3="TKL1", -1="Select an Attribute"}
.
当我尝试检索"cat_id"
的长度时 var l = cat_id.length;
它显示长度为 "undefined"
.但是,我无法获得"cat_id"
的长度.我无法使用replace()
、indexOf()
和split()
功能。
例如:
var index = cat_attr.indexOf(",")
它显示的错误如下:
TypeError: cat_attr.indexOf 不是函数
这不是数组,这是对象。以这种方式定义的数组:[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}]
cat_id
你定义为不是数组的变量,它是一个javascript对象。这就是为什么它的行为不像数组! []
是数组表示法。使用数组表示法[]
而不是您使用{}
的对象表示法。
你的问题是错误的类型和错误的语法。
在你的问题中,你的cat_id是一个对象,而不是字符串或数组。所以你不能调用length()或indexOf()函数。
此外,您输入了错误的语法,它应该是:
var cat_id = { 2: 'text', 3: 'TKL1', -1: 'Select an Attribute'}.
以下是检索属性计数(大小和/或长度)的方法
size_obj = Object.keys(my_object).length;
如在
size_cat_id = Object.keys(cat_id).length;
相关文章:
- 从json子数组获取数据
- 从javascript数组获取php的日期时间
- 从表中的 JSON 数组获取数据
- 每个表的2D数组获取坐标JTSL,JAVASCRIPT
- javascript从元素到数组获取文本
- 如何从数组获取链接以在youtube Iframe API中播放
- JSON 编码多维数组获取值
- 如何从两个 JSON 数组获取增量
- 通过单击按钮数组获取隐藏 html 元素值的当前数组
- 在 JavaScript 中从内部数组获取数据
- 从数组获取非重复索引在 0 时失败
- JavaScript 从对象中的数组获取数组
- 如何通过 ajax 将 php 数组作为 javascript 数组获取
- 快速从 2D 数组获取索引,无需迭代 jquery
- 从 Nodejs socketio 数组获取所有套接字 id
- 无法动态从 json 数组获取数据
- 如何在javascript中使用数组获取和设置html标签的值
- jQuery对象数组获取一个项作为jQuery对象
- 如何在不向输出数组获取空值的情况下拆分字符串
- 从输入到数组获取数据