如何从数组的每一项中提取前3个字符/数字并返回新数组
问题原因
你直接对数组调用slice()方法,该方法的作用是截取数组本身的成员片段,所以得到的是数组的前3个元素,而非处理每个元素内部的内容。
解决方法
遍历数组的每个元素,对单个字符串元素调用slice(0,3)截取前3位即可,你可以搭配map()方法快速生成符合要求的新数组:
// 原数组 const originArr = ['7177576', '4672769', '2445142', '9293878', '5764392'] // 处理逻辑 const result = originArr.map(item => item.slice(0, 3)) // 输出结果:['717', '467','244', '929', '576'] console.log(result)
补充说明
如果数组中存在长度小于3的元素,slice(0,3)会直接返回整个元素,不会抛出报错,可适配绝大多数场景的需求。
内容的提问来源于stack exchange,提问作者EnTil
相关产品推荐
相关产品推荐

