3、在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组

主要考察数组的concat方法,代码如下:

arr.concat(item);

concat 方法不修改原数组。

4、删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组

function truncate(arr) {   

    return arr.slice(0,arr.length-1);
}

slice 方法不修改原数组。

5、在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组

function prepend(arr, item) {
return arr.reverse().concat(item).reverse();
}

思路:先逆置,在添加元素,再逆置。。通过率50%。

剩下的50%是因为arr被改变了,其实是被逆置了。所以需要修改。。。

function prepend(arr, item) {
var a=new Array();
return a.concat(item).concat(arr);
}

连续使用两次concat 方法。通过率100%。

6、删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组

function curtail(arr) {
return arr.slice(1);
}

考察slice方法,不修改原数组

#学习笔记#——JavaScript 数组部分编程(三)的更多相关文章

  1. #学习笔记#——JavaScript 数组部分编程(七)

    24.柯里化 首先想解释一下,“柯里化”的意思, [在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结 ...

  2. #学习笔记#——JavaScript 数组部分编程(一)

    来自牛客网的js编程题 1.移除数组 arr 中的所有值与 item 相等的元素.不要直接修改数组 arr,结果返回新的数组 function remove(arr, item) { if(!Arra ...

  3. #学习笔记#——JavaScript 数组部分编程(六)

    14. 题目描述 实现一个打点计时器,要求 1.从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1 2.返回的对象中需 ...

  4. #学习笔记#——JavaScript 数组部分编程(五)

    11.为数组 arr 中的每个元素求二次方.不要直接修改数组 arr,结果返回新的数组 function square(arr) { var resultArr=new Array(); for(va ...

  5. #学习笔记#——JavaScript 数组部分编程(四)

    7.合并数组 arr1 和数组 arr2.不要直接修改数组 arr,结果返回新的数组 function concat(arr1, arr2) { return arr1.concat(arr2); } ...

  6. #学习笔记#——JavaScript 数组部分编程(二)

    2.移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回 function removeWithoutCopy(arr, item) { if(!A ...

  7. [前端JS学习笔记]JavaScript 数组

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  8. [学习笔记]JavaScript之函数式编程

    欢迎指导与讨论:) 前言 函数式编程能使我们的代码结构变得简洁,让代码更接近于自然语言,易于理解. 一.减少不必要的函数嵌套代码 (1)当存在函数嵌套时,若内层函数的参数与外层函数的参数一致时,可以这 ...

  9. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

随机推荐

  1. 无滚动条GridView少量图片展示

    import android.content.Context; import android.util.AttributeSet; import android.util.Log; import an ...

  2. vue computed自动计算

    <!DOCTYPE html> <html> <head> <title>vue</title> <meta charset=&quo ...

  3. WinDBG help

    WinDBG is a great, free tool. It is more powerful than Visual Studio's built-in debugger, but is har ...

  4. GPU Command Buffer

    For Developers‎ > ‎Design Documents‎ > ‎ GPU Command Buffer This are mostly just notes on the ...

  5. 紫书 例题 10-9 UVa 1636 (概率计算)

    小学数学问题 记得分数比较的时候可以交叉相乘(同号) #include<cstdio> #include<cstring> #define REP(i, a, b) for(i ...

  6. Qt之图形(绘制文本)

    简述 前面我们讲解了Qt图形的基本绘制,其中包括: 绘制文本.直线.直线.矩形.弧线.椭圆.多边形.图片,以及其它一些高级用法,比如:渐变.转换等. 本节我们来详细讲解文字的绘制.主要通过QPaint ...

  7. 每天一个linux命令(九月)

    2014-09-02 top 实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 命令參数: -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模 ...

  8. python in操作引发 TypeError

    在看 networkx 源代码的时候认为疑惑.为什么外层 for 要注意 TypeError.里面就不用.相同是 in, 一直纠结 node 是不是有问题,比方 node 不能够被迭代什么的,那么里面 ...

  9. ios svn repository

    xcode默认自带Git和svn,首先讲下xcode4.6.3下配置svn: 1.检測你的mac中是否安装了svn: (1) 打开终端,输入 svn --version 假设出现下图信息,则说明已经安 ...

  10. Lesson 1 Basic Concepts: Part 3

    A cheaper option Some people may not want to buy a domain or pay for hosting because they only have ...