Javascript 基于键从对象创建值数组
如果我有目标Javascript 基于键从对象创建值数组,javascript,Javascript,如果我有目标 post = { title: "Title", image_1: "1234", image_2: "2345" } 我想得到一个数组: ["1234", "2345"] 这就是我过滤要包含在数组中的属性的方式 Object.keys(post).filter(key => key.includes("image") ); 并获得一组正确的密钥。
post = {
title: "Title",
image_1: "1234",
image_2: "2345"
}
我想得到一个数组:
["1234", "2345"]
这就是我过滤要包含在数组中的属性的方式
Object.keys(post).filter(key =>
key.includes("image")
);
并获得一组正确的密钥。如何获取值?一种方法是只进行筛选,然后映射对象查找:
const post = { title: "Title", image_1: "1234", image_2: "2345" };
const keys = Object.keys(post).filter(key => key.includes("image"));
const output = keys.map(key => post[key]);
console.log(output); // [ '1234', '2345' ]
Object.keys(post)
.filter(key=>key.includes(“图像”))
.map(key=>post[key])
或者,用于同时获取键和值:
Object.entries(post)
.filter(([key,value])=>key.includes(“图像”))
.map(([key,value])=>value)
或者,使用:
Object.entries(post)
.flatMap(([key,value])=>key.includes(“image”)?[value]:[])
您可以对对象使用reduce
方法。输入项
,并检查键是否使用特定字符串启动
const post={
标题:“标题”,
图1:“1234”,
图2:“2345”
}
常量结果=对象
.参赛作品(张贴)
.减少((r[k,v])=>{
如果(k.startsWith('image'))r.push(v);
返回r;
}, [])
console.log(result)
您可以使用它来获取键值对列表,并对其进行迭代:
const post={
标题:“标题”,
图1:“1234”,
图2:“2345”
};
常数res=[];
Object.entries(post.forEach)([key,value])=>{
if(键包括(“图像”)res.push(值);
});
控制台日志(res)
对象。条目
获取条目,然后过滤以图像
开头的条目:
let post={title:“title”,image_1:“1234”,image_2:“2345”};
让结果=Object.entries(post)
.filter(e=>e[0].startsWith('image'))
.flatMap(e=>e[1])
console.log(结果)
使用Object.values
而不是Object.keys
。您想要一个基于键的值,还是从includes
获取所有值?但是我需要基于Keylight筛选属性,使用对象。条目
并使用对象的键进行比较