如果新对象不存在,如何将它添加到数组中?
我查看此链接:How to check if array element exists or not in javascript?
但不确定如何推送新对象!
var element = [];
element['obj'] = 'one';
if (typeof element['obj']['bg'] === 'undefined') {
console.log('not defined');
element['obj']['bg'] = 'red';
console.log(element);
} else {
console.log('defined');
}
最佳答案
var element = [];
定义一个数组而不是一个对象。要将新值推送到数组中,您需要使用 push
方法:
element.push({'obj' : 'one'});
但我认为你不需要在这里创建一个数组,而是创建一个对象即可。像 var element = {};
像这样行 element['obj'] = 'one';
有效,你有一个对象,其键为 obj
,值为 one
.
当您编写 element['obj']['bg']
时,您尝试访问对象内部的对象。因此,在将值 red
设置为之前,您需要创建对象:
element['obj'] = {};
element['obj']['bg'] = 'red';
完整示例:
var element = {};
element['obj'] = {};
if (typeof element['obj']['bg'] === 'undefined') {
console.log('not defined');
element['obj']['bg'] = 'red';
console.log(element);
} else {
console.log('defined');
}
关于JavaScript 检查数组对象是否存在或未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31314368/