javascript - 根据键从对象创建一个值数组

标签 javascript

如果我有一个对象

post = {
title: "Title",
image_1: "1234",
image_2: "2345"
}

我想得到一个数组:

["1234", "2345"]

这就是我过滤要包含在数组中的属性的方式

Object.keys(post).filter(key =>
  key.includes("image")
);

并获得一组正确的键。我如何获取值?

最佳答案

一种方法是只做你的过滤器然后映射对象查找:

Object.keys(post)
    .filter(key => key.includes("image"))
    .map(key => post[key])

或者,使用 Object.entries获取键和值:

Object.entries(post)
    .filter(([key, value]) => key.includes("image"))
    .map(([key, value]) => value)

或者,使用 "filter and map" operation :

Object.entries(post)
    .flatMap(([key, value]) => key.includes("image") ? [value] : [])

关于javascript - 根据键从对象创建一个值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65513178/

相关文章:

javascript - 为什么 JSON 对象不返回键集?

javascript - Jquery 行切换类独立表

javascript - 无限循环中的NodeJS内存消耗

javascript - 查找对象数组中对象的索引

javascript - 如何使用选择的 max_selected_options 作为动态值?

javascript - 用户自定义数据表

javascript - 如何在页面上单击一次打开多个 URL?

javascript - 可拖动的 CSS 切换开关

Javascript 单击按钮

javascript - 在 beforeunload 事件处理程序中停止页面卸载