<JavaScript高级程序设计>读书笔记(第5章引用类型之Array类型)
2016-10-21 00:00
453 查看
1.数组长度
2.判断是否是数组(3种方法)
3.数组转换为字符串(2种方法)
4.栈方法和队列方法
5.reverse()反转数组
6.sort()方法排序
7.concat()方法,连接两个或多个数组
8.splice()方法,删、增、替换数组中的项
9.迭代方法:every(),filter(),forEach(),map(),some()
10.缩小方法,reduce()和reduceRight()
//lenth会自动更新 var arr=["black","red","green"]; console.log(arr);//["black", "red", "green"] arr[99]="white"; console.log(arr);//["black", "red", "green", 99: "white"] console.log(arr.length);//100
2.判断是否是数组(3种方法)
//typeof一般检测基本数据类型的值,instanceof检测引用类型的值 var arr=["black","red","green"]; console.log(typeof (arr));//object console.log(arr instanceof Array);//true //instanceof只适用于单一的全局执行环境
//isArray()不在意数组是在哪个全局执行环境中创建的,但IE9+才支持 var arr=["black","red","green"]; console.log(Array.isArray(arr));//true
//IE9以下 var arr=["black","red","green"]; var isArray=Object.prototype.toString.call(arr); console.log(isArray);//[object Array] console.log(isArray == "[object Array]");//true
3.数组转换为字符串(2种方法)
//toString() var arr=["black","red","green"]; console.log(arr.toString());//black,red,green
//join() var arr=["black","red","green"]; console.log(arr.join(","));//black,red,green
4.栈方法和队列方法
//栈方法 push()、pop() var arr=["black","red","green"]; arr.push("yellow"); console.log(arr); //["black", "red", "green", "yellow"] var item=arr.pop(); // 删除最后一项 console.log(item); // 后进先出,yellow console.log(arr); //["black", "red", "green"]
//队列 push()、shift() 先进后出 //unshift()、pop()反向模拟队列,数组前端添加(unshift())项、数组末端删除(pop())项。
5.reverse()反转数组
var arr=["black","red","green"]; console.log(arr.reverse());//["green", "red", "black"]
6.sort()方法排序
//sort()方法比较的是字符串 var arr=[1,12,5,20,3]; console.log(arr.sort());//[1, 12, 20, 3, 5]
//sort()正确的调用方式 var arr=[1,12,5,20,3]; function compare(value1,value2){ if(value1>value2) { return 1; }else if(value1<value2) { return -1; }else { return 0; } } console.log(arr.sort(compare));//[1, 3, 5, 12, 20]
//更精简版本 var arr=[1,12,5,20,3]; function s(arr){ return arr.sort(function(a, b){ return a - b; }); } console.log(s(arr));//[1, 3, 5, 12, 20]
7.concat()方法,连接两个或多个数组
var arr1=[1,2,3,4]; var arr2=["a","b","c"]; arr1=arr1.concat(arr2); console.log(arr1);//[1, 2, 3, 4, "a", "b", "c"]
8.splice()方法,删、增、替换数组中的项
//splice()删除数组中的某些项 //arr.splice(startLocation,itemNum); //startLocation:要删除的第一项的位置,itemNum:要删除的项数 var arr=["a","b","c","d","e"]; var deleteData=arr.splice(0,2);//删除了前2个元素 console.log(deleteData);//删除了的元素:["a", "b"] console.log(arr);//["c", "d", "e"]
//splice()增加数组中的某些项 //arr.splice(insertLocation,deleteIndex,"item","item2","..."); //insertLocation:起始位置,deleteIndex要删除的元素,设为0,item:要插入的元素 var arr=["a","b","c","d","e"]; deleteData=arr.splice(1,0,"f","g");//在arr[1](b)位置开始插入"f","g",不删除任何一个元素 console.log(deleteData);//[]因为未删除任何元素 console.log(arr);//["a", "f", "g", "b", "c", "d", "e"]
//splice()增加数组中的某些项 var arr=["a","b","c","d","e"]; deleteData=arr.splice(1,1,"f");//将b替换为f console.log(deleteData);//["b"] console.log(arr);//["a", "f", "c", "d", "e"]
9.迭代方法:every(),filter(),forEach(),map(),some()
//every() var numbers=[1,2,3,4,5,6,7,8,9,0]; var everyResult=numbers.every(function(item,index,array){ return item > 0;//every(),每一项为true,才返回true }); console.log(everyResult);//false
//some() var someResult=numbers.some(function(item,index,array){ return item > 0;//some(),任何一项为true,就返回true }); console.log(someResult);//true
//filter() var filterResult=numbers.filter(function(item,index,array){ return item > 0;//filter(),返回为true的数组 }); console.log(filterResult);//[1, 2, 3, 4, 5, 6, 7, 8, 9]
//map() var mapResult=numbers.map(function(item,index,array){ return item*2;//map(),返回调用结果组成的数组 }); console.log(mapResult);//[2, 4, 6, 8, 10, 12, 14, 16, 18, 0]
//forEach() numbers.forEach(function(item,index,array){ item=item*2;//forEach(),类似for循环 console.log(item); });
10.缩小方法,reduce()和reduceRight()
//reduce():迭代数组中的所有项,然后构建一个最终返回的值 //reduceRight():作用同上,但是reduceRight()从数组尾部开始进行 var values=[1,2,3,4,5]; var reduceResult=values.reduce(function(pre,cur,index,array){ return pre+cur; }); console.log(reduceResult);//15
相关文章推荐
- 第5章 引用类型(5)Array 类型
- <NET CLR via c# 第4版>笔记 第5章 基元类型、引用类型和值类型
- 第5章 引用类型(4)Array 类型
- 第5章 引用类型(2)Array 类型
- 第5章 引用类型(3)Array 类型
- <JavaScript高级程序设计>读书笔记(第5章引用类型之Function类型)
- 读javascript高级程序设计07-引用类型、Object、Array
- js数组:string(字符串的对象包装类型),Array(引用类型)
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clone 函数
- JavaScript的object和Array引用类型
- 【JS】引用类型之Array
- js中判断Object、Array、Function等引用类型对象是否相等
- 【CLR Via C#】第5章 基元类型、引用类型、值类型
- 第5章 引用类型 (四)
- javascript高级程序设计笔记(第5章 引用类型)
- 五、引用类型Ⅰ(Object、Array、Date三种类型)
- 第5章 基元类型、引用类型和值类型
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clear 函数
- 第5章 引用类型 (二)
- [JS高程]引用类型(Object、Array)