我試圖寫一個方法,需要在一個句子中的單詞,列出不同的單詞和它們發生的次數,但我無法獲得它工作。分配數組元素作爲對象屬性,'計數器'值
這是我到目前爲止有:
var wordsArr = ['one', 'fish', 'two', 'fish', 'red', 'fish', 'blue', 'fish']
var wordsObj = {};
for (var i = 0; i < wordsArr.length; i++) {
var counter = 0;
wordsObj.wordArr[i] = counter++;
}
return wordsObj;
在它的結束,我希望看到這樣的返回:
{ one : 1, fish : 4, two : 1, red : 1, blue : 1 }
我的控制檯告訴我,
'Uncaught TypeError: Cannot set property '0' of undefined'
我假設undefined
指的是counter
變量。我試過在循環之內和之前聲明這個(如0
),但這不起作用。
是否與wordsArr[i]
作爲字符串返回並因此沒有被正確設置爲wordsObj
的屬性?
如果有人能告訴我我要去哪裏,我會很感激。提前致謝。
正是我以後。沒有發生使用括號表示法來添加屬性,作爲索引數組元素,或只是使用該屬性來返回現有的計數器值...謝謝! – Paulos3000
很高興幫助你! – maioman