我能做什么:
const val = array.find((val) => <condition>);
const index = array.indexOf(val);
我想做的事:
const { val, index } = array.someFunc((val, index) => <condition> && { val, index });
外面还有这样的事吗? some()
被简化为 bool 值,而 find()
仅返回数组元素,但都不适合用例。
最佳答案
没有内置的功能。但是Object.entries
可以使用:
const array = ['foo', 'bar', 'baz'];
const [ index, val ] = Object.entries(array).find(([i, v]) => v === 'baz');
console.log(index, val);
关于javascript - Array.find() 或 Array.some() 但返回自定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60404361/