gpt4 book ai didi

javascript - 无法读取 JavaScript 中未定义数组错误的属性长度?

转载 作者:行者123 更新时间:2023-11-30 09:24:58 27 4
gpt4 key购买 nike

我正在使用下面的代码获取 3 个 div 使用的颜色列表。如果这个 div 有一个颜色集,那么它应该被插入数组 checkColors

var checkColors = [];

$("div[style]").each(function(){
getColor = $(this).css("color");
if(getColor){
checkColors.push(getColor);
}
});

if(checkColors){
checkColors = shuffleArray(checkColors);
if(checkColors.length > 0){
if(checkColors[0]){
backgroundColor = checkColors[0];
}
if(checkColors[1]){
primaryColor = checkColors[1];
}
if(checkColors[2]){
secondaryColor = checkColors[2];
}
}
}

但是,if(checkColors.length > 0){ 给了我一个 Uncaught TypeError: Cannot read property 'length' of undefined 错误,我不明白,因为我有一个 If 语句来检查数组是否未定义。

这是 shuffleArray() 函数:

    function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}

最佳答案

我猜的

 shuffleArray(checkColors)

改变数组而不是返回一个新数组。因此

 checkColors = shuffleArray(checkColors)

会将 shuffleArray 设置为未定义。

关于javascript - 无法读取 JavaScript 中未定义数组错误的属性长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49561392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com