首页 > 解决方案 > 显示无限数量的未定义数组,javascript

问题描述

参考:JavaScript 字符串连接行为与 null 或未定义的值

我试图显示从无限数量的对象数组创建的数组,并且某些数组可能未定义。有没有更好的写法。我对这个问题的解决方案看起来并不专业。

const theFunction = () => {
    let EveryArrayGoesHere = []
    try {
        EveryArrayGoesHere = EveryArrayGoesHere.concat(array1, array2, array3 ...)
        if (EveryArrayGoesHere) {
            EveryArrayGoesHere = JSON.stringify(EveryArrayGoesHere)
            EveryArrayGoesHere = EveryArrayGoesHere.replace('null,', '')
            EveryArrayGoesHere = EveryArrayGoesHere.replace(',null', '')
            return JSON.parse(EveryArrayGoesHere);
        } else {
            return 'data not availible';
        }
    } catch (e) {
        if (e) {
            console.error('data error', e.message)
        }
    }
}
console.log('array of objects:',theFunction() )

标签: javascriptarraysjsonconcatenation

解决方案


我希望我已经正确理解了你的问题。

var collector = [];
var data = [
  [1,2,3],
  undefined,
  [4,5,6],
  [7,8],
  undefined,
  [9]  
];
// console.log('data => ', data);
data = data.filter(v => { return Array.isArray(v)}).forEach(a => { collector = collector.concat(a) });
console.log('collector => ',collector);


推荐阅读