【发布时间】:2020-02-05 00:39:35
【问题描述】:
我有一个任务需要完成,但我真的被卡住了,无法取得进展。赋值包含在这样的元素数组中
const appleHolderLine = ['Rome', 'Ambrosia', 'Rome', 'RedDelicious', 'Akane','RedDelicious', 'SweeTango', 'RedDelicious', 'RedDelicious', 'Opal', 'Winesap', 'RedDelicious', 'Empire', 'RedDelicious', 'Liberty'];
首先需要声明一个变量lineCount,它对数组的每个元素都计数,并引用一个名为appleMap的对象。
挑战在于遍历数组,数组的元素将是没有重复的对象键,而值将是数组特定元素位置的索引数组。举个例子:
例子:
const appleHolderLine = ['GreenApples', 'RedDelicious','OrangeApples', 'PurpleApples', 'RedDelicious']
console.log (lineCount, appleMap)
应该记录:
5, {'GreenApples':[0], 'RedDelicious': [1,4], 'OrangeApples':[2], 'PurpleApples': [3]}
到目前为止我的进步
var lineCount = 0;
var appleMap = {};
for (let i = 0; i < appleHolderLine.length; i++){
lineCount++;
// if element in the array exist in the array
appleMap[appleHolderLine[i]] = [i];
}
你能告诉我如何解决这个问题吗,我真的被卡住了。
【问题讨论】:
标签: javascript arrays loops indexing javascript-objects