返回一个数组中每个项目只有前3个字符/数字的数组

Return an array with only first 3 character/numbers from each item in an arrays


问题

怎样才能只返回数组中每一项的前3个字符/数字?

比如说。字符串 123456 应该返回 123987654 应该返回 987 ,以此类推。

给定一个数组为:

['7177576', '4672769', '2445142', '9293878', '5764392']

预计返回:

['717', '467','244', '929', '576']

我已经尝试过 .slice() ,但是它的返回结果是前三个,像这样:

['7177576', '4672769', '2445142'].
使用.str.slice等
答案1

slice 对弦乐也有效。

    const
     data = ['7177576', '4672769', '2445142', '9293878', '5764392'],
     result = data.map(string => string.slice(0, 3));

console.log(result);    
答案2

JavaScript有许多 方法 用于操作数组。 map 方法创建了一个新的数组,其中包含了对调用数组中的每个元素调用所提供函数的结果。正如Nina Scholz所提到的,你也可以对字符串使用 s lice

你遇到的问题是,你在数组上调用slice,而不是在数组的项上。

你需要做的是像Nina 建议的 那样,即映射主数组并为每个项目调用你的slice函数。

这就是Nina的帖子应该有的解释。显然,人们喜欢她的风格,她的名气很大,因为她使用ES6数组方法进行了巧妙而简洁的回答,而这些方法通常缺乏解释,无法帮助初学者理解发生了什么。