Javascript 如何从所有颜色数组中访问所有颜色?

Javascript 如何从所有颜色数组中访问所有颜色?,javascript,Javascript,[{name:“apple”,颜色:[“green”,“red”]},{name:“banana”,颜色:[“yellow”]}。 使用for循环 我尝试过的代码: for(i=0;i

[{name:“apple”,颜色:[“green”,“red”]},{name:“banana”,颜色:[“yellow”]}
。 使用for循环

我尝试过的代码:
for(i=0;i
可以对对象数组使用映射函数,然后对每个对象的内部属性“color”使用for循环

var fruits = [{
    name: "apple",
    color: ["green", "red"]
}, {
    name: "banana",
    color: ["yellow"]
}];

var colors = [];

fruits.map(function(fruit) {
    for (var i = 0; i <  fruit.color.length; i++) {
        colors.push(fruit.color[i]);
    }
});
var=[{
名称:“苹果”,
颜色:[“绿色”、“红色”]
}, {
名称:“香蕉”,
颜色:[“黄色”]
}];
var颜色=[];
水果。地图(功能(水果){
对于(var i=0;i
您可以使用
for
循环遍历数组中的对象,然后将每个对象的颜色连接到颜色数组中:

var colorArr=[];
var arr=[{name:“apple”,颜色:[“green”,“red”]},{name:“banana”,颜色:[“yellow”]}];
用于(arr中的var i){
if(arr[i]['color']){
colorArr=colorArr.concat(arr[i]['color']);
}

}
这里有一个简单的方法来做我认为你想做的事情:

var all_colors = [{name: "apple", color: ["green", "red"]}, 
              {name: "banana", color: ["yellow"]}].reduce(function(a, b) {
    return a.concat(b.color);
}, []);

// Note: this line uses ES6
var colors = Array.from(new Set(all_colors));
输出所有颜色的数组,删除重复项:


是的,您可以使用循环来迭代数组。我将从这里开始阅读:。这是我尝试过的,但它不起作用:对于(I=0;I