有一个条件对象的形式:
let obj = {
smallNews: {
title1: "Заголовок 1",
title2: "Заголовок 2",
title3: "Заголовок 3",
title4: "Заголовок 4",
}
}
当我直接访问其中一个键时,我可以输出它的值:
console.log(obj.smallNews.title2) // Заголовок 2
以及如何在正常循环中显示所有值?那些。如何title在循环中添加计数器值?
现在我这样做:首先我形成一个字符串,然后在帮助下eval获得值。但是,恕我直言,这不是最好的方法。可以用其他方式吗?
let obj = {
smallNews: {
title1: "Заголовок 1",
title2: "Заголовок 2",
title3: "Заголовок 3",
title4: "Заголовок 4",
}
}
for (let i = 1; i<= 4; i++) {
let str = 'obj.smallNews.title'+i;
console.log(eval(str));
}
或者:
但我的问题是,为什么不最初使用数组?
评论后:
如果需要输出为数组
如果这是任务,那么原则上不需要键(在不需要计算它们的名称的意义上) - 您可以简单地分别获取值。方法:
也就是说,我当然看到并理解问题是什么 - 事实上,它是关于解决“计算对象键的名称”问题的一种方法......但任务本身可能设置不正确/非-最佳。毕竟,如果您考虑一下,那么以这种方式计算密钥会产生许多潜在的问题:
undefined)第三点是有争议的,但其余的都是真实的,恕我直言。
就其本身而言,密钥计算并不完全是邪恶的……更准确地说,它是一种恰好是必要的邪恶。是否需要它 - 正是这个答案所写的内容,我敦促您考虑的内容(因为我有时徒劳地使决定复杂化😁)。