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


当前第2页 返回上一页

实例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

var arr = [1, 2, 3, 'a', 'b', 'c', 'd'];

Array.prototype.copySlice =function() {

  var newArr = [];

  var len = this.length;

  var argLen = arguments.length;

  if(arguments.length == 1) {//一个参数

    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);

    for(var i = startNum; i < len; i++) {

      newArr.push(arr[i]);

    }

  }

  else if(arguments.length == 2) {//两个参数

    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);

    var endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]);

    if(startNum >= endNum) {//起始索引大于终止索引,返回[]

      return newArr;

    }

    else {

      for(var i = startNum; i < endNum; i++) {

        newArr.push(arr[i]);

      }

    }

  }

  return newArr;

};

console.log(arr.length); // 7

// 一个参数

console.log(arr.copySlice(2)); // [3, "a", "b", "c", "d"]

// 两个参数

console.log(arr.copySlice(3, 6));  //["a", "b", "c"]

console.log(arr);  //[1, 2, 3, "a", "b", "c", "d"]

// 接收负数

console.log(arr.copySlice(-2)); // ["c", "d"]

console.log(arr.copySlice(-5, 6)); //[3, "a", "b", "c"]

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

console.log(arr.copySlice(-5, -6)); //[]

console.log(arr.copySlice(5, 5)); //[]

console.log(arr.copySlice(5, )); // ["c", "d"]

部分运行结果如图:

16e5e236175552477021a241e227916.png

更多编程相关教程,请关注php中文网编程入门栏目!

以上就是实例详解js数组方法slice()的用法的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

js的dom是什么?

javascript的重构技巧

js 实现全选和全不选代码示例

详解js中document对象的方法和属性

js如何判断一个对象是否是数组(函数)

js和html的区别是什么

js正则表达式的字符匹配

js如何实现滑动门效果

微信js是什么

javascript如何实现html字符转实体

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...