如何解决通过Javascript中的索引删除组合的二维数组的值
这里有一个js新手问题。我需要删除没有按索引成对或串联的值的组合二维数组的值。抱歉,我不知道正确的用词。仅以我的示例为例:
arr = [
["First Name","Last Name","Email","Address","Position","Age","Birthday"],["John","Doe","john@doe.com","","34",""]
];
res = arr.reduce((x,y) => x.map((v,i) => v + ': '+ y[i]));
console.log(res); //["First Name: John","Last Name: Doe","Email: john@doe.com","Address: ","Position: ","Age: 34","Birthday: "]
因此,我需要从阵列中删除"Address: "
"Position: "
"Birthday: "
,剩下的是:
["First Name: John",""Age: 34"]
的意思是,从另一个数组中删除那些不配对的对象。希望这是有意义的,并感谢您的帮助!
解决方法
类似的东西
arr = [
["First Name","Last Name","Email","Address","Position","Age","Birthday"],["John","Doe","john@doe.com","","34",""]
];
res = arr
.reduce((x,y) => x
.map((v,i) => { if (y[i]) return v + ': '+ y[i]}))
.filter(Boolean);
console.log(res);
,
您可以使用函数Array.prototype.reduce
并在空白处(是虚假的)施加强制以跳过这些值。
const arr = [ ["First Name",""]],[properties,values] = arr,result = values.reduce((a,v,i) => Boolean(v) ? a.concat([properties[i],": ",v].join("")) : a,[]);
console.log(result);
,
arr = [
["First Name",""]
];
res = arr.reduce(function(x,y){
return x.map(function(v,i) {
if (!['Birthday','Age'].includes(v)) return v + ': '+ y[i];
}).filter(x => x !== undefined);
});
console.log(res);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。