gpt4 book ai didi

javascript - 获取Object中的所有子项

转载 作者:行者123 更新时间:2023-12-03 01:41:41 25 4
gpt4 key购买 nike

我正在 Vue 中工作,并尝试将我收集的一些值发布到服务器,但我发现当前的实现有点令人沮丧。

我在 Vue 方法中有一个函数,它会发布我从原始对象“收集”的值:

    var inputvalues = {};
// Get values from all inputs
for (key in this.entries) {
var val = this.entries[key].value;

if (val != undefined) {
console.log(key,val);
Vue.set(inputvalues,key,val)
}
}

[ Here is the AJAX part which sends 'inputvalues' to the server - not so relevant]

对象如下所示:

entries: {
something1: {
options: {
"option1":"Option 1",
"option2":"Option 2",
"option3":"Option 3"
},
visible:true,
value:undefined
},
something2: {
options: {
"one":"One",
"two":"Two",
},
visible:true,
value:undefined
}
}

这“有效”,但我对结果不满意。

是否有像 this.entries[].value 这样的东西可以获取此对象的所有值,或者我应该将输入字段的值写入单独的对象中,或者...我不知道哪种方法是正确的方法。

提前致谢。

最佳答案

也许更优雅一点:

const inputvalues = Object.entries(this.entries)
.map(([k, v]) => ([k, v.value]))
.reduce((res, [k, v]) => (v !== undefined && (res[k] = v), res), {});

或者功能少一点:

const inputvalues = {};

for(const [key, obj] of Object.entries(this.entries))
if(obj.value !== undefined)
inputvalues[key] = obj.value;

关于javascript - 获取Object中的所有子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818222/

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