Javascript 函数设置元素的属性

Javascript 函数设置元素的属性,javascript,html,Javascript,Html,JS新手,正在尝试了解如何使用循环为元素设置属性。我尝试了下面的代码,但似乎不起作用: attArr.forEach((item) => { element.setAttribute(item, attArr[item]); }); 然而,下面的方法是有效的。有什么好处 for (const item in attArr) { element.setAttribute(item, attArr[item]); } 查看代码的其余部分会很有用 中…的正在

JS新手,正在尝试了解如何使用循环为元素设置属性。我尝试了下面的代码,但似乎不起作用:

  attArr.forEach((item) => {
    element.setAttribute(item, attArr[item]);
  });
然而,下面的方法是有效的。有什么好处

  for (const item in attArr) {
    element.setAttribute(item, attArr[item]);
  } 

查看代码的其余部分会很有用

中…的
正在迭代对象条目

这里使用forEach也是一样的

Object.entries(attArr).forEach(([key,val]) => element.setAttribute(key, val));

查看代码的其余部分会很有用

中…的
正在迭代对象条目

这里使用forEach也是一样的

Object.entries(attArr).forEach(([key,val]) => element.setAttribute(key, val));

当您在y中执行
x
时,您正在使用键进行迭代。当您执行forEach时,您正在为数组
y
中的每个项调用一个函数。你想做的可能更像这样

 Object.keys(attArr).forEach( key => {
    element.setAttribute(key,attArr[key]);
  });

当您在y中执行
x
时,您正在使用键进行迭代。当您执行forEach时,您正在为数组
y
中的每个项调用一个函数。你想做的可能更像这样

 Object.keys(attArr).forEach( key => {
    element.setAttribute(key,attArr[key]);
  });

第一个示例的问题是
attArr[item]
导致
未定义的

如果要使用foreach回复第二个示例的行为,必须执行以下操作:

attArr.forEach((item, index) => {
  element.setAttribute(index, attArr[item]);
});

第一个示例的问题是
attArr[item]
导致
未定义的

如果要使用foreach回复第二个示例的行为,必须执行以下操作:

attArr.forEach((item, index) => {
  element.setAttribute(index, attArr[item]);
});

要以简单的方式回答此问题,
forEach
将迭代项,
for…in
将迭代键

const arr = ['Meat', 'Cheese']

arr.forEach(item => {
   console.log(item)
})

# Output 'Meat' 'Cheese'

for(const item in arr){
  console.log(item);
}

# Output '0' '1'

要以简单的方式回答此问题,
forEach
将迭代项,
for…in
将迭代键

const arr = ['Meat', 'Cheese']

arr.forEach(item => {
   console.log(item)
})

# Output 'Meat' 'Cheese'

for(const item in arr){
  console.log(item);
}

# Output '0' '1'

请访问,采取的,看看什么和。做一些研究,搜索相关话题等;如果遇到问题,请发布您的尝试,并使用
[]
代码段编辑器记录输入和预期输出。请访问,以查看和。做一些研究,搜索相关话题等;如果遇到问题,请发布您的尝试,并使用
[]
代码段编辑器记录输入和预期输出