task 18
数组方法里push、pop、shift、unshift、join、split分别是什么作用
- push方法接受参数添加到数组末尾;
- pop方法从数组末尾移除最后一项并减少length值;
- shift方法移除数组第一项并返回该项;
- unshift在数组前端添加任意项并返回数组长度;
- join方法接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。
- split方法用于把一个字符串分割成字符串数组
代码题:
1.用 splice 实现 push、pop、shift、unshift方法
![](https://img.haomeiwen.com/i3264781/45997c9d6a6b07b9.png)
2.使用数组拼接出如下字符串
![](https://img.haomeiwen.com/i3264781/d770512c7fdd9a6d.png)
代码:
![](https://img.haomeiwen.com/i3264781/79a208448197e26a.png)
3.写一个find函数,实现下面的功能
![](https://img.haomeiwen.com/i3264781/10b0e5028b150c53.png)
代码
![](https://img.haomeiwen.com/i3264781/6df757461df10696.png)
4.写一个函数filterNumeric,把数组 arr 中的数字过滤出来赋值给新数组newarr, 原数组arr不变
![](https://img.haomeiwen.com/i3264781/501bcb94c5fd863b.png)
代码:
![](https://img.haomeiwen.com/i3264781/4a48b9b2ffb9f824.png)
- 对象obj有个className属性,里面的值为的是空格分割的字符串(和html元素的class特性类似),写addClass、removeClass函数,有如下功能:
![](https://img.haomeiwen.com/i3264781/0d619906573c5149.png)
代码:
![](https://img.haomeiwen.com/i3264781/4b56def337743d0d.png)
![](https://img.haomeiwen.com/i3264781/c7e2d0027097b139.png)
6.写一个camelize函数,把my-short-string形式的字符串转化成myShortString
形式的字符串
![](https://img.haomeiwen.com/i3264781/13dee007abdf7910.png)
代码:
![](https://img.haomeiwen.com/i3264781/9dd196d13df23566.png)
7.如下代码输出什么?为什么?
![](https://img.haomeiwen.com/i3264781/bad0716a42181bd0.png)
输出
![](https://img.haomeiwen.com/i3264781/421d3e7729711318.png)
arr[arr.lenth-1]()
相当于(function(){alert(console.log('hello hunger valley'))})();即立即执行函数,打印hello hunger valley 然后弹出警告框因为alert的参数不是纯文本,所有打印,undefined。
8.写一个函数isPalindrome,判断一个字符串是不是回文字符串(正读和反读一样,比如 abcdcba 是回文字符串, abcdefg不是)
![](https://img.haomeiwen.com/i3264781/82cbf49f00932b85.png)
9.写一个ageSort函数实现数组中对象按age从小到大排序
![](https://img.haomeiwen.com/i3264781/dad7e54362aa5139.png)
代码:
![](https://img.haomeiwen.com/i3264781/41dc654ca4f4759c.png)
10.写一个filter(arr, func)函数用于过滤数组,接受两个参数,第一个是要处理的数组,第二个参数是回调函数(回调函数遍历接受每一个数组元素,当函数返回true时保留该元素,否则删除该元素)。实现如下功能
![](https://img.haomeiwen.com/i3264781/21bb2fc7b4023fcd.png)
![](https://img.haomeiwen.com/i3264781/8e46f5780f99b0f6.png)
11.写一个 ucFirst函数,返回第一个字母为大写的字符
![](https://img.haomeiwen.com/i3264781/8510f02e541f0f21.png)
12.写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str
截断到maxlength长,并加上...如
![](https://img.haomeiwen.com/i3264781/580b9e25941d1f0d.png)
13.写一个函数,获取从min到max之间的随机整数,包括min不包括max
![](https://img.haomeiwen.com/i3264781/e0c2867f64cd3c8b.png)
14.写一个函数,获取从min都max之间的随机整数,包括min包括max
![](https://img.haomeiwen.com/i3264781/3664e1c64d8537bb.png)
15.写一个函数,获取一个随机数组,数组中元素为长度为len,最小值为min,最大值为max(包括)的随机整数
![](https://img.haomeiwen.com/i3264781/94983f4678775e98.png)
16.写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z
![](https://img.haomeiwen.com/i3264781/01726b7e3c47e18e.png)