1. 数组方法里push、pop、shift、unshift、join、split分别是什么作用?
push:往数组里最后面添加一个元素;
pop: 把数组里最后一个元素删除;
shift: shift方法可以删除数组index最小元素,并使后面元素index都减一,length也减一;
unshift:在数组的头部添加一个元素;
join:方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。即是join()中的分隔符;不会改变原数组,而是返回一个新的数组
slice:slice方法用于返回数组中一个片段或子数组,如果只写一个参数返回参数到数组结束部分,如果参数出现负数,则从数组尾部计数(-3意思是数组倒第三个,一般人不会这么干,但是在不知道数组长度,想舍弃后n个的时候有些用,不过数组长度很好知道。。。。,好纠结的用法),如果start大于end返回空数组,值得注意的一点是slice不会改变原数组,而是返回一个新的数组.
splice:splice方法用于一次性解决数组添加、删除(这两种方法一结合就可以达到替换效果),方法有三个参数
concat:concat方法用于拼接数组,a.concat(b)返回一个a和b共同组成的新数组,同样不会修改任何一个原始数组,也不会递归连接数组内部数组.
reverse:reverse()方法用于将数组逆序,与之前不同的是它会修改原数组;
sort:方法用于对数组进行排序,当没有参数的时候会按字母表升序排序,如果含有undefined会被排到最后面,对象元素则会调用其toString方法,如果想按照自己定义方式排序,可以传一个排序方法进去,很典型的策略模式,同样sort会改变原数组。
-
split:方法用于把一个字符串分割成字符串数组。以传入的参数作为分隔符。(如图)
代码
1. 用 splice 实现 push、pop、shift、unshift方法
2. 使用数组拼接出如下字符串
3. 写一个find函数,实现下面的功能
4. 写一个函数filterNumeric,把数组 arr 中的数字过滤出来赋值给新数组newarr, 原数组arr不变
5 .对象obj有个className属性,里面的值为的是空格分割的字符串(和html元素的class特性类似),写addClass、removeClass函数,有如下功能:
6. 写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串
7. 如下代码输出什么?为什么?
原因:第二行代码中函数的console.log('hello hunger valley')会输出hello hunger valley.
但该局没有被定义所以 alert(console.log('hello hunger valley'))为undefined;
arr.push()了一个undefined;
所以在调用该函数时,就是弹出arr数组的最后一位,而arr数组最后一位是undefined,所以弹出undefined
8. 写一个函数isPalindrome,判断一个字符串是不是回文字符串(正读和反读一样,比如 abcdcba 是回文字符串, abcdefg不是)
9. 写一个ageSort函数实现数组中对象按age从小到大排序
10. 写一个filter(arr, func) 函数用于过滤数组,接受两个参数,第一个是要处理的数组,第二个参数是回调函数(回调函数遍历接受每一个数组元素,当函数返回true时保留该元素,否则删除该元素)。实现如下功能:
字符串
1. 写一个 ucFirst函数,返回第一个字母为大写的字符
2. 写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...
数学函数
1. 写一个函数,获取从min到max之间的随机整数,包括min不包括max
2. 写一个函数,获取从min都max之间的随机整数,包括min包括max
3. 写一个函数,获取一个随机数组,数组中元素为长度为len,最小值为min,最大值为max(包括)的随机整数
4. 写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。
'版权归饥人谷--楠柒所有如有转载请注明出处'