9.2
1. 找一个数组中存不存在一个数可以用的方法有 indexOf lastIndexOf 还可以用数组的迭代方法some,every 如果每一项为true才会返回true
2. 数组的迭代方法有map some every filter foreach ,其中foreach是没有返回值的。map和filter都是返回一个数组,是不会修改原来的数组,是返回true项对应的数组
3. 数组的迭代方法是传入一个函数,函数里面的3个参数是item ,index, array ,可以给
数组的迭代方法传入一个函数加一个运行改函数作用域的对象。影响this的值 不理解这个地方。
4. 判断一个数组是不是数组的方法 isArray ,看她的constructor是不是指向Array(这个地方判断的时候直接写Array才对,typeof是‘string’) ,instanceof Array 三种
在typeof后面不用加括号。高程上没有写()。加了试了一下也没有报错。
5. sort方法可以给数组进行排序,但是他会调用toString方法,即使每一项就是数字。 所以有时候排出来的数有问题,如果要升序的话,直接是return a-b
6. slice是方法会返回一个新的数组,不会影响原来的数组。传入起始位置和终止地址,含头不含尾
7. splice 是删除,插入,替换都行
8. concat方法是拼接数组和传入的字符串,返回一个新的数组,原来的数组也是不受影响
9. 将数组变成字符串的方法有join,toString ,valueOf, toLocalString
10. Object.prototype.toString.call(arr) === '[object Array]',这个写法是因为Object的原型上面的toString方法是会返回一个对象的[object Type],不能直接用的原因是因为Array的原型里面有toSting方法吧Object里面的给覆盖了。所以定义的数组可以直接.toString将数组变成字符串。call和apply都是传入的一个对象。