【发布时间】:2023-04-06 02:50:01
【问题描述】:
我正在尝试将数据插入到数组中。数据是具有 2 个属性名称和值的对象形式。我正在从具有完全不同结构的不同数组对象中检索数据。
我正在创建的新数组如下:
newarray = [Object, Object, Object]
在哪里Object = {name: "abc", value: "12"}
这就是我的目的:
var newarray = [];
for (var i = 0; i < oldarray.length; i++) {
a = newarray.indexOf(oldarray[i].studentname);
if (a == -1) {
newarray.push({
name: oldarray[i].studentname,
value: oldarray[i].marks
})
}
}
我不希望学生姓名重复,因此我尝试使用 indexOf 检查名称在数组中的出现。但我没有正确地做到这一点。我做错了什么?
【问题讨论】:
-
很明显英语不是你的母语(这绝对没问题,不需要完美的英语),所以我会提到: 在问题的末尾说“请纠正”对于大多数英语读者来说是非常粗鲁的。 (即使是在印度次大陆方言中常见且完美的“请检查”对美国人来说也是粗鲁的。)
-
“不正确”是什么意思?说什么是错的。理想情况下,显示一个示例数组、您想要的输出以及您得到的输出。
标签: javascript arrays javascript-objects indexof