首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript拆分数组

Javascript拆分数组
EN

Stack Overflow用户
提问于 2011-08-18 10:23:25
回答 4查看 5K关注 0票数 2

我有一个JavaScript数组,其中包含员工的中文和英文名称。

示例:

代码语言:javascript
运行
复制
XXX MA Yo-Yo

其中XXX代表中文名称:馬友友

我想通过使用第一个空格" "作为指示器将其分成两部分。

代码语言:javascript
运行
复制
for (i = 0; i < /* ... */)
{
    w_temp = arr[i];
    w_name = w_temp[1].split(' ', 1);

    /* ... */
}

w_name[0]成功返回馬友友。但是w_name[1]返回undefined,而不能返回MA Yo-Yo

我怎么把它分成两部分呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-18 10:29:08

将现有的w_name = ...行替换为以下内容:

代码语言:javascript
运行
复制
w_name = w_temp[1].split(' ');
w_name = [w_name[0], w_name.slice(1).join(' ')];

您之前使用的,1的意思是在到达第一个空格时立即停止解析。这不是您想要的;您希望第一个空格之前的部分作为一个项目,而后面的部分作为另一个项目。新代码解析所有元素。之后,它将其设置为包含以下内容的数组:

  1. 已经存在的第一个元素,
  2. 重新连接第一个元素之后的部分。
票数 1
EN

Stack Overflow用户

发布于 2011-08-18 10:29:03

你有

代码语言:javascript
运行
复制
 split(' ', 1)

1表示最多返回一个部分。如果需要的话,你可以省略它或者把它改成两个。

票数 0
EN

Stack Overflow用户

发布于 2011-08-18 10:33:45

尝尝这个

代码语言:javascript
运行
复制
for (var i = 0; i < arr.length; i++) {
    var w_temp = arr[i];

    // assuming w_temp contains an array where the second item
    // is the full name string
    var parts = w_temp[1].match(/^(.+?) (.+)$/);
    var cn_name = parts[1];
    var en_name = parts[2];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7101705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档