如何过滤对象数组并且只有 return 个结果没有数组括号

How to filter array of objects and only return one result without the array brackets

在这个可爱的星期一早晨,我可能没有喝足够的咖啡,但我想做一些简单的事情,但我没有想到。

我正在为一个对象数组过滤一个 id:

const skuVariant = skuOptions.filter(sku => sku.itemNumber === variantItemNumber);

这 returns 是一个数组,如果有匹配,则长度为 1。 我有以下行:

const skuVariantValueMap = skuVariant && skuVariant[0].varianceValueMap;

我不想检查数组的第一个元素,而只是 return 来自过滤器调用的对象,而不是数组中的对象。

要特别清楚 skuVariant return是这样的:[{id: 1234}]

我想要 return 这个:{ id: 1234 }

这可以使用 lodash utils 实现,但那太过分了。我在找香草。

是否有 ES7、ES6 / 超级干净的方法来实现这一点?

提前致谢。

使用 Array.prototype.find 而不是过滤器。它returns满足提供的测试函数的数组中第一个元素的值。