gpt4 book ai didi

javascript - 通过普通对象键值对进行过滤

转载 作者:行者123 更新时间:2023-11-28 14:13:13 24 4
gpt4 key购买 nike

我有一个 JS 对象,其形式存储在变量 keyData:

{type: "", label: "fname", title: "first name", …}
defaultvalue: ""
disabled: false
label: "fname"
readonly: false
required: "on"
title: "first name"
type: ""
__proto__: Object

我想过滤这些键值对并返回一个新对象,其中包含键值对及其中可用的数据。例如,在此数据中,它应该仅返回标题、必填和标签

使用新的过滤数据,我想映射一个 react 表单,其中过滤的键作为输入类型,过滤的值作为其值。

我很困惑如何解决这个问题。我尝试使用Object.entries(keyData)像这样:

   Object.entries(keyData).filter(x => console.log(x))
console.log(keyData)

console.log(keyData)上,它打印:

(2) ["type", ""]
(2) ["label", "fname"]
(2) ["title", "first name"]
(2) ["placeholder", ""]
(2) ["required", "on"]
(2) ["readonly", false]
(2) ["disabled", false]

我无法进一步过滤这些空数据。

最佳答案

一种选择是在使用 Object.entries 后使用 reduce。只有当为真时,您才能返回一个对象。

const data = {
a: "foo",
b: false,
c: "bar",
d: null
};

const filtered = Object.entries(data).reduce((acc, [key, value]) => {
if (value) {
acc[key] = value;
}
return acc;
}, {});

console.log(filtered);

关于javascript - 通过普通对象键值对进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58807644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com