【问题标题】:Return an array with only first 3 character/numbers from each item in an arrays从数组中的每个项目返回一个只有前 3 个字符/数字的数组
【发布时间】:2022-01-09 02:13:09
【问题描述】:

如何只返回数组中每个项目的前 3 个字符/数字?

例如:字符串123456 应该返回123987654 应该返回987,等等。

给定一个数组:

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

预期回报:

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

我尝试过.slice(),但返回的前三个是这样的:

['7177576', '4672769', '2445142'].

【问题讨论】:

  • 使用 .str .slice 等

标签: javascript string slice digits


【解决方案1】:

JavaScript 有很多 methods 用于操作数组。 map 方法创建一个新数组,其中填充了对调用数组中的每个元素调用提供的函数的结果。正如 Nina Scholz 上面提到的,您也可以在字符串上使用 slice

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

您需要执行类似 Nina Suggest 的操作,即映射主数组并为每个项目调用切片函数。

【讨论】:

  • 这是Nina的帖子应该有的解释。显然人们喜欢她的风格,她在使用 ES6 数组方法的聪明和简洁的答案方面享有盛誉,这些方法通常缺乏帮助初学者理解正在发生的事情的解释。
【解决方案2】:

slice 也适用于字符串。

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

console.log(result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多