Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于键从对象创建值数组_Javascript - Fatal编程技术网

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筛选属性,使用
对象。条目
并使用对象的键进行比较