簡體   English   中英

如何擺脫未定義?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM