Javascript 将对象值作为单独的项推入数组
我想将下面对象的所有粉色值作为项目添加到粉色数组中Javascript 将对象值作为单独的项推入数组,javascript,arrays,object,Javascript,Arrays,Object,我想将下面对象的所有粉色值作为项目添加到粉色数组中 const mainObj = [ { image: 'test_icon.jpg', colour: "pink", text: "text", link: "" }, { image: 'test_icon.jpg', colour: "pink", text: "text", link: "" }, { image: 'test_icon.jpg', colo
const mainObj = [
{
image: 'test_icon.jpg',
colour: "pink",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "pink",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "pink",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "pink",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "green",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "green",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "blue",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "blue",
text: "text",
link: ""
},
{
image: 'test_icon.jpg',
colour: "green",
text: "text",
link: ""
}
];
到目前为止,我所拥有的:
for(let i = 0; i < mainObj.length; i++) {
if(mainObj[i].colour == "pink") {
const pink = [];
pink.push(mainObj[i].colour);
}
}
for(设i=0;i
我遇到的问题是,目前它并没有将所有的粉色值放入一个粉色数组中,而是单独创建一个粉色数组,并向每个数组添加一个粉色值 你就快拿到了。简单地说,
constpink=[]代码>在for循环之外,就像这样(我还将push
更改为对象,而不仅仅是颜色)
let pink=[];
for(设i=0;i
以下是一个工作示例:
const mainObj=[
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“蓝色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“蓝色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
}
];
让粉红色=[];
for(设i=0;i console.log(粉红色)
您几乎已经得到了它。简单地说,constpink=[]代码>在for循环之外,就像这样(我还将push
更改为对象,而不仅仅是颜色)
let pink=[];
for(设i=0;i
以下是一个工作示例:
const mainObj=[
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“蓝色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“蓝色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
}
];
让粉红色=[];
for(设i=0;i
Basic
您可以使用filter方法实现这一点,该方法将自动创建一个包含所需值的数组
let pinkArray = ;
console.log(pinkArray);
特定值/列
您还可以创建一个仅在对象中包含特定字段的数组:
let pinkArray = mainObj.filter( e => e.colour == 'pink');
console.log(pinkArray);
var pinkArrayCopy = [];
for(i in pinkArray){
let item = pinkArray[i];
pinkArrayCopy.push({"colour": item.colour, "text": item.text});
}
console.log(pinkArrayCopy);
更具功能性(新对象)
基本
您可以使用filter方法实现这一点,该方法将自动创建一个包含所需值的数组
let pinkArray = ;
console.log(pinkArray);
特定值/列
您还可以创建一个仅在对象中包含特定字段的数组:
let pinkArray = mainObj.filter( e => e.colour == 'pink');
console.log(pinkArray);
var pinkArrayCopy = [];
for(i in pinkArray){
let item = pinkArray[i];
pinkArrayCopy.push({"colour": item.colour, "text": item.text});
}
console.log(pinkArrayCopy);
更具功能性(新对象)
您只需创建一个通过主数组和颜色的回调,并用给定的颜色过滤主数组即可
const mainArr=[{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
}
],
filterByColor=(arr,color)=>arr.filter(a=>a.color==color);
var pink=滤光片颜色(主色调为“粉色”),
绿色=滤光片颜色(主“绿色”);
console.log('Pink:',Pink);
log('绿色:',绿色)代码>您可以简单地创建一个通过主数组和颜色的回调,并简单地使用给定的颜色过滤主数组
const mainArr=[{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本:“文本”,
链接:“
}
],
filterByColor=(arr,color)=>arr.filter(a=>a.color==color);
var pink=滤光片颜色(主色调为“粉色”),
绿色=滤光片颜色(主“绿色”);
console.log('Pink:',Pink);
log('绿色:',绿色)代码>您可以这样使用
const mainObj=[
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“粉红色”,
文本:“文本”,
链接:“
},
{
图片:“test_icon.jpg”,
颜色:“绿色”,
文本
mainObj.filter(item => item.colour=='pink').map(i =>i.colour))