JS数组
来源:互联网 发布:wow.js是用来做什么的 编辑:程序博客网 时间:2024/04/30 11:02
var arr=[4,3,2,1];
数组的添加
arr.push(0); //[4,3,2,1,0] arr.unshift(8); //[8,4,3,2,1,0] arr.splice(2,2,"Mike"); //[8,4,"Mike",1,0]
数组的删除
arr.pop(); //[8,4,"Mike",1] arr.shift(); //[4,"Mike",1] arr.splice(1,2) //[4]
数组的截取和合并
arr.push(1,4,5,8,4,3,2,8,9); //[4,1,4,5,8,4,3,2,8,9] var arr1=arr.slice(4,8); //arr 是[4,1,4,5,8,4,3,2,8,9]// 注意:slice()方法并不改变数组,需要赋值才能获取 arr1 是[4,3,2,8] var brr1=new Array(2); brr1[0]="Mike"; brr1[1]="Jhon"; var brr2=new Array(2); brr2[0]="Lisa"; brr2[1]="Linda"; var brr3=new Array(2); brr3[0]="Kin"; brr3[1]="Que"; var brr4= brr1.concat(brr2,brr3);// concat()方法不会改变现有的数组,仅仅返回被连接的数组的个副本// 可以通过赋值获// console.log(brr1.concat(brr2,brr3))==console.log(brr4);// brr1 是 ["Mike", "Jhon"]// brr2 是 ["Lisa", "Linda"]// brr3 是 ["Kin", "Que"]
数组的拷贝
console.log(arr); // [4, 1, 4, 5, 8, 4, 3, 2, 8, 9] arr.slice(0); arr.concat();
数组的反转
arr.reverse();
数组的字符串化
console.log(arr.join(",")); //这个方法也不改变原来数组 输出9,8,2,3,4,8,5,4,1,4
数组的排序
var crr=[2,43,5,3,32,9]; crr.sort(function(a,b){ return a-b; //从大到小排序,b-a则是从小到大排序 }); console.log(crr); //[2, 3, 5, 9, 32, 43]
对象数组的排序
var objectList=[]; function Person(name,age){ this.name=name; this.age=age; } objectList.push(new Person("Mike",12)); objectList.push(new Person("Lissa",24)); objectList.push(new Person("Linda",30)); objectList.push(new Person("Jhon",4)); objectList.sort(function(a,b){ return (a.age-b.age); }); for(var i=0;i<objectList.length;i++){ document.writeln("<br>age:"+objectList[i].age+"name:"+objectList[i].name); }// 输出:// age:4name:Jhon // age:12name:Mike // age:24name:Lissa // age:30name:Linda
filter方法
<!--可以输出所有大于输入的值的元素--> <p>最小年龄:<input type="number" value="18" id="ageToCheck" /> </p> <button onclick="myFunction()">点我</button> <p>所有大于指定元素的值有:<span id="demo"></span></p> <script type="text/javascript"> var ages=[23,4,32,2,32]; function checkAge(age){ return age>document.getElementById("ageToCheck").value; } function myFunction(){ document.getElementById("demo").innerHTML=ages.filter(checkAge); } </script>
forEach方法
var a=[2,3,4,43,2]; var sum=0; a.forEach(function(val){ sum+=val; console.log(sum); //依次输出2,5,9,52,54 }) console.log(sum);//54 a.forEach(function(v,i,a){ a[i]=v+1; //每个val值都自增1 }) console.log(a); //[3, 4, 5, 44, 3]
map()方法
var a=[1,2,3]; var b=a.map(function(x){ return x*x; }); console.log(b); //[1, 4, 9]
every()和some()方法
every()和some()方法是数组的逻辑判定:他们对数组元素应用指定的函数进行判定,返回true或false。every()方法只有说有元素返回true时,返回true,相当于&;some()方法只有所有元素返回false时返回false,相当于|。
a=[1,2,3,4,5];a.every(function(x){return x<10;});//=>true:全都小于10a.every(function(x){return x%2===0;});//=>flase:不是所有的元素都是偶数a.some(function(x){return x%2===0;});//=>true:a里面含有偶数a.some(function(x){return x>10;});//=>false:全都不大于10
indexOf()和lastIndexOf()
indexOf()和lastIndexOf()搜索整个数组中具有给定值得元素,返回找到的第一个元素的索引或者没有找到就返回-1。indexOF()是从头至尾,而lastIndexOf()则反向搜索。
a=[0,1,2,1,0];a.indexOf(1);//=>1 a[1]=1a.lastIndexOf(1);//=>3 a[3]=1a.indexOf(3);//=>-1
阅读全文
0 0
- js数组
- js数组
- JS 数组
- js 数组
- js数组
- JS数组
- js数组
- js 数组
- JS 数组
- js数组
- js 数组
- JS数组
- js数组
- js数组
- js数组
- JS 数组
- js数组
- js 数组
- [原型设计]Axure制作鼠标悬停图片切换效果
- JQuery全选,反选,批量删除
- Python零基础学习(3)
- c语言作业题11.11/12
- iOS11自定义弹窗不显示/HUD不消失的问题
- JS数组
- Qt--core模块概述
- Combinatorics——HDUOJ 1492
- 软件工程(C编码实践篇)课程总结
- 踟躇之后的明朗
- Leetcode 算法题11
- windows server2008 、windows 7 防火墙日志配置及查看
- 中国大学排名定向爬虫(实例1)
- L1-035. 情人节