• [JS]Array.prototype.slice()和Array.prototype.splice()


    arr.slice(begin,end)

    slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改

    • 如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取slice(-2,-1)表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
    • 如果 end 被省略,则slice 会一直提取到原数组末尾。
    • 如果 end 大于数组长度,slice 也会一直提取到原数组末尾。

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/slice


    题目描述:把一个数组arr按照指定的数组大小size分割成若干个数组块。

    题目来源:freecodecamp

    全部代码:

     1 function chunk(arr, size) {
     2   // 请把你的代码写在这里
     3   var newArr=[];
     4   for(var i=0;i<Math.ceil(arr.length/size);++i)
     5     {
     6       newArr.push(arr.slice(size*i,size+size*i));
     7     }
     8   return newArr;
     9 }
    10 
    11 chunk(["a", "b", "c", "d"], 2);

    !特别注意:slice里的end不是长度是下标。


    附:

    数字取上下限问题:

    1.丢弃小数部分,保留整数部分

    parseInt(5/2)

    2.向上取整,有小数就整数部分加1

     Math.ceil(5/2)

    3,四舍五入.

    Math.round(5/2)

    4,向下取整

     Math.floor(5/2)

    https://www.jb51.net/article/50005.htm


    Array.prototype.splice(start,deletecount,item,,,,)

    splice()方法通过删除现有元素和/或添加新元素来更改一个数组的内容

    • start为开始位置
    • deletcount为要删除的数目
    • item可写多个插入到刚刚删除的位置

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

    Slasher Flick


    截断数组

    返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始。

    1 function slasher(arr, howMany) {
    2   // 请把你的代码写在这里
    3   arr.splice(0,howMany);
    4   return arr;
    5 }
    6 
    7 slasher([1, 2, 3], 2);

    @jm_epiphany

    原创供学习参考使用,转载请注明出处http://www.cnblogs.com/cuphoria/ @jm_epiphany
  • 相关阅读:
    mysql_config 问题
    软考倒计时3天
    软考倒计时5天
    Pdf 解密后复制文字乱码
    软考倒计时7天:题目书中的易混点
    应急储备和管理储备
    软考倒计时9天:100个主要知识点
    软考倒计时10天
    软考倒计时15天
    软考倒计时18天
  • 原文地址:https://www.cnblogs.com/cuphoria/p/9592649.html
Copyright © 2020-2023  润新知