如何获取数组中每个索引的第一个拆分部分

时间:2017-11-15 12:29:22

标签: javascript arrays

我们有一个如下所示的数组,数组的长度不是常数(可能会增加/减少)。

[255028AD_ABC_DE_2057,261830AD_ABC_FG_2876,.......]

我的目标是只实现每个索引的第一部分,如下所示。

[255028AD,261830AD,.........]

请帮忙。

8 个答案:

答案 0 :(得分:4)

试试这个:



var arr = ['255028AD_ABC_DE_2057', '261830AD_ABC_FG_2876'];
arr = arr.map(el => el.split('_')[0]);
console.log(arr);




答案 1 :(得分:1)

使用Array.map()String.substr()函数:

var arr = ['255028AD_ABC_DE_2057', '261830AD_ABC_FG_2876' ],
    result = arr.map(v => v.substr(0, v.indexOf('_')));
console.log(result);

  • v.indexOf('_') - 找到_ char的第一个位置

  • v.substr(0, v.indexOf('_')) - 从位置0开始提取子字符串到_字符的第一个位置(获取切片)

答案 2 :(得分:0)

您可以匹配第一个非下划线字符并返回匹配结果的第一项。

@objc public var substituteFontName : String {
    get {}
    set {}
}

答案 3 :(得分:0)

这样的事情应该有效:

const arr = ['255028AD_ABC_DE_2057','261830AD_ABC_FG_2876'];
const arrModified = arr.map(element => 
    element.substr(0, element.indexOf('_')));
console.log(arrModified)

答案 4 :(得分:0)

使用Array.map函数,因此您的代码看起来像这样

[].map(item => item.split('_')[0])

其中[]是您的数组

在ES5语法中它看起来像

[].map(function(item) {
  return item.split('_')[0];
})

希望有所帮助

答案 5 :(得分:0)

只需使用地图https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/map

即可

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/split

喜欢

var array = ["12_bla","13_ble"].map(function (el) { return el.split('_',1)[0]; });

答案 6 :(得分:0)

使用for ... of



var arr = ['255028AD_ABC_DE_2057', '261830AD_ABC_FG_2876'];
var index = 0;
for (item of arr) {
  arr[index] = item.split('_')[0];
  index++;
}

console.log(arr);




答案 7 :(得分:0)

您可能也喜欢



var result = ["255028AD_ABC_DE_2057","261830AD_ABC_FG_2876"].map(s => s.replace(/_.*/,""));
console.log(result);