gpt4 book ai didi

Javascript:我正在尝试使用 switch 语句将字符串推送到新数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:21:40 24 4
gpt4 key购买 nike

挑战如下:编写一个函数,接收水果数组并返回可在该数组中找到的颜色数组。相同颜色的水果将返回相同的值但不会重复。

例如:

whatFruitColors(['apple', 'orange', 'mango']);
// returns ['red', 'orange']

我试图用 switch 语句解决这个问题,因为我想使用“fall-through”来处理所有语句。有人可以告诉我我做错了什么吗?

    var whatFruitColors = function(fruitArray){
var fruitColors = [];

switch(fruitArray){
case fruitArray.indexOf('pineapple' || 'banana') > -1):
fruitColors.push('yellow');

case fruitArray.indexOf('mango' || 'orange') > -1):
fruitColors.push('orange');

case fruitArray.indexOf('apple') > -1):
fruitColors.push('red');

break;
}

console.log(fruitColors);
return fruitColors;

}

whatFruitColors(['pineapple','banana','apple','mango','orange']);

最佳答案

如果您需要比 Array.reduce 更不优雅的解决方案,那么:

    var whatFruitColors = function (fruitArray) {
var fruitColors = [];

for (var i = 0; i < fruitArray.length; i++) {
var item = fruitArray[i];
switch (item) {
case 'pineapple':
case 'banana':
if (fruitColors.indexOf('yellow') === -1) {
fruitColors.push('yellow');
}
break;
case 'mango':
case 'orange':
if (fruitColors.indexOf('orange') === -1) {
fruitColors.push('orange');
}
break;
case 'apple':
if (fruitColors.indexOf('red') === -1) {
fruitColors.push('red');
}
break;
}
}

console.log(fruitColors);

return fruitColors;
};

whatFruitColors(['pineapple', 'banana', 'apple', 'mango', 'orange']);

关于Javascript:我正在尝试使用 switch 语句将字符串推送到新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359484/

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