javascript - 为什么我无法获取JS对象值?

标签 javascript jquery json javascript-objects

哎呀,看来我不知道自己在做什么。

我以为我正在制作一个对象数组:

$.each(oldList, function( key, item) {
    self.items.push([{
             "name": $(item).data('name') ,
             "id": $(item).data('id') ,
             "lat": $(item).data('lat') ,
             "lng": $(item).data('lng') ,
             "index": key
    }]);
});

然后我这样做:

$.each(self.items, function( key, item) {
  console.log(item);
});

结果是这样的:

enter image description here

但是当我尝试执行此操作时 console.log(item.name); 我只是得到未定义

有人能看出我做错了什么吗?

最佳答案

您正在将包含单个项目的数组推送到 self.items,而不是推送对象。

$.each(oldList, function( key, item) {
    self.items.push({
             "name": $(item).data('name') ,
             "id": $(item).data('id') ,
             "lat": $(item).data('lat') ,
             "lng": $(item).data('lng') ,
             "index": key
    });
});

因此,在第二个循环中,item 是一个包含一项的数组,而不是一个对象,因此 item.name 未定义,但您可以使用 item[ 0].name 访问名称(不更改push代码)

关于javascript - 为什么我无法获取JS对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26463297/

相关文章:

java - 尝试使用 net minidev json 更新 json 数组但出现转换错误

javascript - Highcharts : How do I keep the marker formatting and make the click event fire with a 5K+ point scatter plot?

javascript - 单击表单登录时防止子菜单隐藏/单击父 li 时更改背景颜色

javascript - jQuery 平滑滚动以锚定在不同页面上

javascript - $ 未定义..但它是无法找到的 fancybox

jquery - 增加 Bootstrap 中的 Logo 大小和导航栏大小

javascript - 带循环的 jQuery 自定义 slider 创建

javascript - HTML5 必需属性不适用于 AJAX 提交

json - 解码 Json Swift 4 Codable Type Any

json - 我可以为 OpenAI API Codex 模型创建微调模型吗?