当前位置:Gxlcms > 前端框架 > 实例详解js数组方法slice()的用法

实例详解js数组方法slice()的用法

时间:2021-07-01 10:21:17 帮助过:23人阅读

slice()方法介绍

slice(),它能基于当前数组中的一个或多个创建一个新数组。可以接受一或两个参数,即要返回的起始和结束位置。

一个参数:slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。

两个参数:该方法返回起始和结束位置之间的项(但不包括结束位置的项)。

slice不会影响原始数组。

结束位置小于起始位置,返回空数组。

可以接受负数,用数组长度加上该负数来确定相应位置。

(推荐学习:javascript教程)

实例如下:

  1. var arr = [1, 2, 3, 'a', 'b', 'c', 'd'];
  2. Array.prototype.copySlice =function() {
  3. var newArr = [];
  4. var len = this.length;
  5. var argLen = arguments.length;
  6. if(arguments.length == 1) {//一个参数
  7. var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
  8. for(var i = startNum; i < len; i++) {
  9. newArr.push(arr[i]);
  10. }
  11. }
  12. else if(arguments.length == 2) {//两个参数
  13. var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
  14. var endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]);
  15. if(startNum >= endNum) {//起始索引大于终止索引,返回[]
  16. return newArr;
  17. }
  18. else {
  19. for(var i = startNum; i < endNum; i++) {
  20. newArr.push(arr[i]);
  21. }
  22. }
  23. }
  24. return newArr;
  25. };
  26. console.log(arr.length); // 7
  27. // 一个参数
  28. console.log(arr.copySlice(2)); // [3, "a", "b", "c", "d"]
  29. // 两个参数
  30. console.log(arr.copySlice(3, 6)); //["a", "b", "c"]
  31. console.log(arr); //[1, 2, 3, "a", "b", "c", "d"]
  32. // 接收负数
  33. console.log(arr.copySlice(-2)); // ["c", "d"]
  34. console.log(arr.copySlice(-5, 6)); //[3, "a", "b", "c"]
  35. //结束位置小于起始位置,返回空数组。
  36. console.log(arr.copySlice(-5, -6)); //[]
  37. console.log(arr.copySlice(5, 5)); //[]
  38. console.log(arr.copySlice(5, )); // ["c", "d"]

部分运行结果如图:

16e5e236175552477021a241e227916.png

更多编程相关教程,请关注Gxlcms编程入门栏目!

以上就是实例详解js数组方法slice()的用法的详细内容,更多请关注Gxlcms其它相关文章!

人气教程排行