gpt4 book ai didi

javascript - 如何将对象属性放入变量中?

转载 作者:行者123 更新时间:2023-12-02 21:27:42 25 4
gpt4 key购买 nike

var info = [
{'user': 'person1','location': "NY"},
{'user': 'person2','location': "NJ"},
{'user': 'person3','location': "NC"}
];

var text="";


for (var i=0; i<=2; i++) {
text+='<div id="box" onclick="alertMe()">'+ info </div>';
}


function alertMe(){
var val = info[location];
alert(val);
}

这主要针对 function alertMe()部分。我试图将每个位置放入一个变量中,这样当用户单击一个变量时,它将显示一条包含特定位置的警报。

最佳答案

有一些东西不适用于您的代码。

  • 变量location未定义。
  • 如果您尝试访问属性 location 或您的对象,则可能无法正常工作,因为 info 是一个数组。您可以像 info[0] 一样访问 info,但不能通过 key location,因为它不存在。
  • 据我了解,您想要显示当前单击的位置。您的 alertMe 函数无法知道哪个位置被点击。
  • 不是问题,而是建议,您可能需要使用 let 或 const 而不是 val,here is why .
  • 您永远不会将 HTML 字符串添加到 DOM,因此不会出现任何内容。
  • 您的字符串中缺少 '
  • 您试图在 html 的 div 标签中显示变量 info,但 info 是一个对象数组。<

考虑到这一点,这是代码的修订版本。请尝试了解发生了什么,而不是将其复制粘贴到您的项目中。

var info = [
{'user': 'person1','location': "NY"},
{'user': 'person2','location': "NJ"},
{'user': 'person3','location': "NC"}
];

let text = "";


for (var i=0; i<=2; i++) {
const currentLocation = info[i];
text+= `<div id="box" onclick="alertMe(${i})">${currentLocation.location}</div>`;
}

document.write(text)


function alertMe(index){
const val = info[index].location;
alert(val);
}

在此代码片段中,您可以看到我替换了一些内容。

  • alertMe 函数现在采用索引作为参数。这将代表被点击的索引。
  • 我正在 for 循环中为当前信息元素创建一个新变量。
  • 我正在使用这个新变量来打印位置。
  • 我通过索引而不是现有的 location 变量来访问点击的位置。
  • 我已经用字符串模板替换了您的字符串构建。不是必需的,但很酷。

关于javascript - 如何将对象属性放入变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60697498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com