gpt4 book ai didi

JavaScript map(),集合中对象的未定义属性

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

我有一个过滤器对象的集合,它是this.selectedFilters

我使用JS的map方法只选择过滤器对象的field属性。

 console.log(this.selectedFilters.map((val) => {
console.log(val);
console.log(val.field);
console.log(val['field']);
return val.field;
}));

结果是:

enter image description here

有人可以告诉我为什么val.field给出一个未定义的值吗? :(

PS:我使用了 TypeScript

更新:

我想我知道为什么 val 是一个字符串。也许是因为 this.selectedFiltersselect HTML 元素(多个启用)的 ng-model,其中选项具有对象值。也许选项值在传输到 this.selectedFilters 模型时从对象转换为 json 字符串

最佳答案

最可能的答案是 val 是一个字符串,其中包含您在控制台中看到的 JSON。如果它是一个对象,控制台输出看起来会有所不同。

看起来您需要在其中放置 JSON.parse 。您尚未显示原始 TypeScript,但在 JavaScript 中它看起来像这样:

console.log(this.selectedFilters.map((val) => {
val = JSON.parse(val); // <====
console.log(val);
console.log(val.field);
console.log(val['field']);
return val.field;
}));

关于JavaScript map(),集合中对象的未定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639596/

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