简体   繁体   English

解构 object 数组的嵌套级别

[英]destructuring nested level of array of object

I have an object where one property contains array of objects, I need to destructure it, but when destructuring I don't know how to handle if that property is of empty array我有一个 object,其中一个属性包含对象数组,我需要对其进行解构,但是在解构时我不知道如何处理该属性是否为空数组

 const dataTest1 = { id: 1, details: [{f_name_1: "John"}] } const {details: [{f_name_1}] = [{}]} = dataTest1 || {} console.log(f_name_1?? 'NA') const dataTest2 = { id: 2 } const {details: [{f_name_2}] = [{}]} = dataTest2 || {} console.log(f_name_2?? 'NA') const dataTest3 = { id: 3, details: [] } const {details: [{f_name_3}] = [{}]} = dataTest3 || {} console.log(f_name_3?? 'NA')

If you see the first and second case gives me value or fallback value, but when I pass details as an empty array its going error (dataTest3), because I am destructuring first position of array [{}] , how can I give a default value as empty object如果您看到第一种和第二种情况给了我值或备用值,但是当我将详细信息作为空数组传递时,它会出错(dataTest3),因为我正在解构数组[{}]的第一个 position ,我该如何给出默认值值为空 object

You need an object ad default value for the inner object, because you add only an array if the array is missing, but if exist, you have no object.对于内部 object,您需要一个 object 广告默认值,因为如果缺少数组,则仅添加一个数组,但如果存在,则没有 object。

 const dataTest3 = { id: 3, details: [] } const { details: [{ f_name_3 } = {}] = [] } = dataTest3 || {}; console.log(f_name_3?? 'NA');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM