gpt4 book ai didi

javascript - 如何转换这个对象数组以使用reduce javascript

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

我正在尝试将此函数转换为使用reduce。我已经完成一半了。当所选值为 true 时,我想知道该元素的索引。

let options = [
{label: 'foo1', selected: false},
{label: 'foo2', selected: true},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
];
const obj = options
.map((option, index) => (option.selected ? index : -1))
.filter((val) => val !== -1)[0];

结果:1

我的尝试是这样的:

const obj = options.reduce((acc, currentValue, index) => {
const i = currentValue["selected"] ? index : -1;
return acc.concat(i)
}, []); // [-1,1,-1,-1,-1]

如何更改整个内容以使用reduce?

最佳答案

仅当 option.selected 为 true 时才将索引添加到结果中,否则不执行任何操作。

let options = [
{label: 'foo1', selected: false},
{label: 'foo2', selected: true},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
];

const selected = options.reduce((arr, option, index) => {
return option.selected ? arr.concat(index) : arr;
}, []);

console.log(selected);

关于javascript - 如何转换这个对象数组以使用reduce javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613300/

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