如何解决如何使用slice方法拆分数组?
我不知道如何使用splice(),所以我使用了另一种方法来解决问题。 我在这里做错了什么?
function frankenSplice(arr1,arr2,n) {
let result = [];
let array1 = arr1.toString();
let array2 = arr2.toString();
for (let i = 0; i<array1.length; i++){
for (let j = 0; j<array2.length; j++){
if (array1[j] == n){
return result += array2[j] + array1 + array2.slice(1);
}
}
}
return result;
}
console.log(frankenSplice([1,2,3],[4,5],1));
它应该返回[4,1,2,3,5],但是我的代码返回[41,3,5]。 我想使用arr1.split(),所以逗号之间在4到1之间,但是它说arr1.split不是函数。
我觉得自己离答案很近,但也觉得我的逻辑可能是完全错误的。
请帮助,谢谢!
解决方法
- 第一行使用spread syntax将数组的元素复制到另一个数组中,因为根据规则,不应更改原始的orray。
- 第二行使用
splice
,从第n
个索引开始,从数组中删除0
个项目,然后将array1
中的所有项目复制到其中。 - 然后我们返回了复制的数组。
函数frankenSplice(arr1,arr2,n){
var a = [... arr2]
a.splice(n,0,... arr1);
返回一个;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。