【发布时间】:2020-07-06 00:32:47
【问题描述】:
您可以在下面看到我正在处理的数组。最终我想删除重复的方括号,但现在我只是想删除数组第 2 行上的 undefined。我试过了许多方法,似乎无法过滤掉,可能是由于额外的方括号吗?任何见解都会很棒!
服务器端数组
[
[ '["windows","osx","linux"]' ],
[ undefined ],
[ '["windows","osx"]' ],
[ '["windows"]' ],
[ '["windows","osx","android"]' ],
[ '["windows","linux"]' ],
[ '["windows","osx","linux","android"]' ],
[ '["web"]' ],
[ '["windows","linux","android"]' ],
[ '["windows","android"]' ],
[ '["android"]' ],
[ '["osx"]' ]
]
代码
// filter out duplicates
function arrUnique(arr) {
var cleaned = [];
platform.forEach(function(itm) {
var unique = true;
cleaned.forEach(function(itm2) {
if (_.isEqual(itm, itm2)) unique = false;
});
if (unique) cleaned.push(itm);
});
return cleaned;
}
var duplicateRemoval = arrUnique(platform);
var filteredOut = duplicateRemoval.filter(e => e != null);
console.log(filteredOut);
【问题讨论】:
-
数组从何而来?你最好从它的源头修复它
-
我也喜欢! @LelioFaieta 但不幸的是它来自我从itch.io/bundle/520/games.json 提取的 json,我无法控制它。
-
如果你尝试对它使用一次 json.parse 会发生什么?
-
这只是另一个数组。
if ( <length of the array === 1> && <the only element is undefined> ) then remove that element(推测为.filter()或.reduce()
标签: javascript node.js arrays