[英]JavaScript Removing anything after char in 2d array
如果我有数据
dogNames = [[]];
dogNames.push([Bill],[Ben],[jack, Allen],[Barbra],[Jill, Jenny],[George]);
如果我想循环并打印所有内容到控制台,例如
for(let x=0;x<dogNames.length;x++){
console.log(dogNames[x]);
}
是否可以在每个数组中隐藏“,”之后的任何值
所以我的打印值可能是
比尔·本·杰克芭芭拉·吉尔·乔治
艾伦和珍妮都被隐藏/移除
不确定从哪里开始。 尝试使用 .split() 但不确定如何在 2d arrays 上使用它。
你有几个语法错误,比如 x 周围的括号应该是方括号,你还需要在 arrays 中将字符串放在引号中。
当你第一次声明dogNames时,你也不需要数组中的数组
如果将您的代码与我的代码进行比较,您就会明白我的意思。
您问题的主要答案是将[0]
包含在console.log(dogNames[x][0]);
所以你只记录子 arrays 的第一个元素
dogNames = []; dogNames.push(['Bill'],['Ben'],['jack', 'Allen'],['Barbra'],['Jill', 'Jenny'],['George']); for(let x=0;x<dogNames.length;x++){ console.log(dogNames[x][0]); }
.split(",") 用于字符串,您使用的是 arrays。所以基本上您可以转换为字符串并拆分,或者只选择每一行的第一个元素(您的第二个数组)。
dogNames = [[]];
dogNames.push(["Bill"],["Ben"],["jack", "Allen"],["Barbra"],["Jill", "Jenny"],["George"]);
// SOLUTION 1 --> JUST PICK ARRAY FIRST ELEMENT
for(let x=0;x<dogNames.length; x++){
console.log(dogNames[x][0]);
}
//SOLUTION 2 --> ARRAY to STRING
for(let x=0;x<dogNames.length;x++){
const dogNameRow = dogNames[x];
const dogString = dogNameRow.join();
console.log(dogString.split(",")[0]);
}
您可以在Array.map()
方法的帮助下简单地实现此要求。
现场演示:
const dogNames = [[],['Bill'],['Ben'],['jack', 'Allen'],['Barbra'],['Jill', 'Jenny'],['George']]; console.log(dogNames.map(arr => arr[0]).filter(Boolean).join())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.