你能用javascript给一个对象一个键吗
Can you give an object a key in javascript?
如果您有像这样的对象数组
[{rID:53, name:Roger, age:43},{rID:12, name:Phil, age:22}]
有没有可能给每个对象一个像一样的密钥
[53:{name:Roger, age:43},12:{name:Phil, age:22}]
我知道每个对象都有一个索引号,但我正在寻找一种方法来查找对象,而不是基于它们的索引位置,最好是在找到rID=53类型的对象之前不必循环。
我会使用mysql行中的PKs为每个对象提供它的密钥。
干杯
如果您想要一个具有任意键的无序变量集合。然后使用一个对象。
{"53":{name:Roger, age:43},"12":{name:Phil, age:22}}
数组只能有数字键,但如果要将值分配给任意位置,则必须在创建数组后进行。
var some_array = [];
some_array[53] = {name:Roger, age:43};
some_array[22] = {name:Phil, age:22};
请注意,这将把数组长度设置为54。
请注意,在这两种情况下,给定属性都不能有多个值(尽管可以有一个值数组)。
您需要一个对象。
{
53: {
name: "Roger",
age: 43
},
12: {
name: "Phil",
age: 22
}
}
否。js数组中不能有键和索引。数组只有索引,对象只有键。JavaScript中没有像关联数组这样的东西。如果(原始数组的)顺序无关紧要,您可以使用一个对象:
{53:{name:"Roger", age:43},12:{name:"Phil", age:22}}
您可以使用对象来执行此
var map = {"53":{"name": "Roger", "age": "43"},"12":{"name": "Phil", "age": "22"}};
然后像数组一样访问值(注意,我使用字符串,因为这就是键存储的形式,字符串,你可以使用整数访问它,但在搜索属性时,它只会转换为字符串):
map["53"]
您还可以循环浏览此地图对象:
for (var key in map) {
var value = map[key];
}
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 有没有一个javascript图形绘制库可以进行气球树布局
- 如何将一个JavaScript函数回调为多个函数
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 多次调用另一个javascript函数中的javascript函数
- HTML外部javascript加载另一个javascript
- 在一个javascript文件中为整个网站创建标签
- 在任何AJAX调用之前触发一个javascript函数
- 如何用另一个Javascript更改Javascript函数值
- 动态创建一个javascript/jquery多级数组
- 将变量值从一个javascript传递到另一个javascript
- 获取一个javascript对象attr's
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- 添加一个javascript函数来下载elfinder上的事件
- 有没有一个Javascript代码可以看到你的缓存有多满
- 使用jenkins从不同文件夹中的文件构建一个javascript文件
- 是否有一个javascript库来解析简单的查询
- 一个javascript实现base64图像编码并将结果写入文本文件
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器