如果有数据
dogNames = [[]];
dogNames.push([Bill],[Ben],[jack, Allen],[Barbra],[Jill, Jenny],[George]);
如果我想循环遍历并打印所有内容到控制台,例如
for(let x=0;x<dogNames.length;x++){
console.log(dogNames[x]);
}
是否可以在每个数组
中隐藏','之后的任何值?所以我的打印值可能是
法案本杰克芭芭吉尔乔治
Allen和Jenny都被隐藏/移除
不知道从哪里开始。尝试使用.split(),但不确定如何在2d数组上使用它。
你有几个语法错误,像x周围的括号应该是方括号,你还需要字符串在数组中的引号。
当你第一次声明dogNames时,你也不需要数组中的数组如果你把你的代码和我的代码比较一下,你就会明白我的意思。
你的问题的主要答案是将[0]
包含在console.log(dogNames[x][0]);
中所以你只需记录子数组的第一个元素
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(",")用于字符串,您正在使用数组。所以基本上你可以转换为字符串和分割,或者只是选择每一行的第一个元素(你的第二个数组)。
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()
方法简单地实现此要求。
Live Demo:
const dogNames = [[],['Bill'],['Ben'],['jack', 'Allen'],['Barbra'],['Jill', 'Jenny'],['George']];
console.log(dogNames.map(arr => arr[0]).filter(Boolean).join())