繁体   English   中英

JavaScript 删除二维数组中 char 之后的任何内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM