【发布时间】:2021-07-29 19:58:01
【问题描述】:
请有人教我如何在给定的场景中正确地为对象属性赋值:
我正在获取文本区域的值,并将值拆分为新行。我需要将这些拆分值分配给数组中对象的属性。见以下代码:
var items = [{}];
function process() {
var i = 0;
items.forEach((j) => {
j.self = document.getElementById('input').value.split('\n');
});
点击按钮时调用process()。
在控制台中,我得到以下信息:
我需要将单个值分配给 key[0] 作为 self 属性的值,而不是 key[0] 例如将 10 个 self 值作为数组。例如,第二个拆分需要分配给 key1.self。
预期的输出将是这样的(如果不完全准确,请道歉):
items[0]{self: split-string[0]},
items[1]{self: split-string[1]},
items[2]{self: split-string[2]},
等等……
而不是(控制台中显示的):
items[0].self[0] = split-string[0];
items[0].self[1] = split-string[1];
items[0].self[2] = split-string[2];
如果有道理,请有人帮忙。
【问题讨论】:
-
你用
j++覆盖j? --- 编辑:你为什么要使用一个数字,然后附加一个属性? -
真的很难看到你想从分割字符串中得到什么。你能显示你的预期输出吗
-
@evolutionxbox 我删除了 j 声明和 j++,仍然是相同的输出
-
请更新问题以向我们展示发生了什么变化?
-
@srcomptn 是的,这是有道理的——正是我的回答所产生的
标签: javascript arrays object properties