[英]How to get rid of undefined?
當我console.log
下面的數組時, undefined
是每個數組項的一部分,我想知道為什么會這樣以及如何擺脫它?
new_colors.addEventListener("click", function() {
var rgb_guesses = new Array();
for(var i = 0; i < color_squares.length; i++) {
var rgb_value = "rgb" + "(" + random() + "," + " " + random() + "," + " " + random() + ")";
color_squares[i].style.background = rgb_value;
rgb_guesses[i] += rgb_value;
}
guess_rgb.textContent = color_squares[3].style.background;
console.log(rgb_guesses);
});
你已經創建了一個空數組
所以,聲明
rgb_guesses[i] += rgb_value;
是簡寫
rgb_guesses[i] = rgb_guesses[i] + rgb_value;
現在由於數組為空, rgb_guesses[i]
將是未定義的,直到您為其分配一個值... undefined 當強制為字符串時,為“未定義”
所以,你的代碼相當於
rgb_guesses[i] = "undefined" + rgb_value;
由於您只為數組中的每個元素分配一個值,因此您可以將代碼更改為簡單的
rgb_guesses[i] = rgb_value;
或者
rgb_guesses.push(rgb_value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.