JavaScript 检查数组对象是否存在或未定义

标签 javascript jquery

如果新对象不存在,如何将它添加到数组中?

我查看此链接: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/

相关文章:

javascript - 自动隐藏按钮

jQuery 平滑滚动对齐

javascript - 如何创建同步轮播

javascript - 让 timeOut() 从数组中每秒播放一首歌曲

JavaScript 时间助手? -有趣的问题!

javascript - node.js 从 url 下载带有未知扩展名的图像

jquery - daterangepicker选择一个月内的范围

javascript - 查询字符串检查不同页面上的复选框

javascript - 自举 |具有哈希分隔符样式的 URL

javascript - 构建 html 时在 javascript 中支持撇号的正确方法是什么?