将属性添加到 javascript 数组元素
Add a property to javascript array element
我必须测试一些包含以下比较的代码:
(我试图简化原始代码)
if (app.base.premiums[0].code === ‘1’)
并创建了一个测试"应用程序"对象
app = {
base : {
premiums: ['first']
}
}
然后我尝试向数组中的第一个元素添加一个属性
app.base.premiums[0].code = '1';
但是当我输入时,这不会返回任何值
app.base.premiums[0].code
进入浏览器控制台。
我应该怎么做?
你应该这样初始化"app":
var app = {
base : {
premiums: [ {'code':2}]
}
}
现在 app.base.premiums[0].code 返回 2
几乎所有东西都是JS中的对象,但不是原始值:字符串,数字,null,undefined,布尔值。
它们可能看起来像对象,因为当您尝试与基元执行类似对象的交互时,它们被包装到各自的包装类中。
(1).toString()
与(new Number(1)).toString()
基本相同
但是,如您所见,Number
实例是创建的,然后在发生自动魔术包装时被丢弃。
但是,您可以做的是创建一个将保留的新String
实例:
premiums: [new String('first')]
你在做什么: 'first'.code = '1';
你认为这会起作用吗?
不。你需要一个对象。所以你必须对此做出app
app = {
base : {
premiums: [ {} ] // object literal
}
}
这与对象无关。问题是您正在尝试在字符串原语上设置属性。
请改用字符串对象:
premiums: [new String('first')]
相关文章:
- javascript数组元素是否知道其封闭数组
- JavaScript数组元素只不过是数组对象属性
- 在javascript数组元素之间添加换行符
- 从 QML 中的 ListModel 访问 Javascript 数组元素
- 从 C# 访问 JavaScript 数组元素(通过 WebBrowser)
- 将属性添加到 javascript 数组元素
- 通过循环变量引用Javascript数组元素
- 通过JSON对象键访问javascript数组元素
- 访问Javascript数组元素
- PHP 作为 Javascript 数组元素
- PrestaShop:使用smarty添加javascript数组元素
- Javascript数组元素计数
- 在Google Maps API中未定义Javascript数组元素
- 计算JavaScript数组元素的出现次数,并放入一个新的2d数组
- 删除JavaScript数组元素显示未定义
- Javascript数组.元素长度对小于2个元素不起作用
- 访问Javascript数组元素
- Javascript数组元素未定义
- 为什么javascript数组元素不能'
- 为javascript数组元素赋值在循环时不起作用(classic.asp),但在没有循环的情况下也能起作用,为什么