如何过滤对象数组并且只有 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满足提供的测试函数的数组中第一个元素的值。
在这个可爱的星期一早晨,我可能没有喝足够的咖啡,但我想做一些简单的事情,但我没有想到。
我正在为一个对象数组过滤一个 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满足提供的测试函数的数组中第一个元素的值。