2016javascript数组

function Person(name,age,gender){ this.name=name; this.age=age; this.gender=gender; } var per = new Person('孙悟空',18); var per2 = new Person('啥',28); var per3 = new Person('子',8); var per4 = new Person('动',16); var per5 = new Person('西',38); var perArr = [per,per2,per3,per4,per5]; function Arrpre(){ var name=[]; for(i=0;i<perArr.length;i++){ if(perArr[i].age>18){ name.unshift(perArr[i]) } } console.log(name); } var fun=Arrpre;
/*
索引从0开始的整数;整体叫元素
*/
/* 内建对象ES标准 宿主对象 自定义对象
数组 Array
数组里可以对象 数组
*/
// var arr = new Array('inks',1,2,3,4);
var arr = [2,3,4,5,6,7]
arr = [name.null,undefined,1.3]
arr = [function(){alert(1);},function(){alert(2);},function(){alert(3);}]
数组属性
var arr = ['inks','joker','meijun','yeye']
console.log(arr);
// 数组后添加 push(可以添加多个) 后面删除pop
// 前面添加unshift 删除unshift
arr.unshift('das','jsaidojoi');
console.log(arr);
数组遍历

// 遍历 var a = ['inks','joker','pink','jiabaili',18]; /* for(i=0;i<a.length;i++){ console.log(i+'='+a[i]); } */ a.forEach(function(value,index,suoyou){ console.log(value,index,suoyou); });
数组去重

// slice 截取数组slice(start,end)不会修改原数组start(选中指定数字)end(选择钱一个数字) // splice(start,number,'')可以增加或删减 start第几个数组 number是从start开始的个数 ''增加 var arr = [1,2,4,9,2,2,2,2,3,4,5,6,5,8,5]; // var a = arr.sort(); for(var i=0;i<arr.length;i++){ console.log(i); // 原理简单 arr.length受splice影响 i已经确定好了 a不确定,arr变化刷新了总值 a变化不了 for(var a=i+1;a<arr.length;a++){ // 去重后length数量发生变化 if(arr[i]==arr[a]){ arr.splice(a,1); a--; } } }
数组的方法

/* concat连接数组 such as: a.concat(b,c,'dsa') join()将数组转字符串 join('keke')里面设置的是间隔开的字符 默认, pop删除并返回最后一个元素 影响数组 push数组后面添加多个元素 影响数组 reverse颠倒数组 sort对数组元素进行排序 Unicode编码 shift删除并返回第一个元素 unshift在数组头部增加多个元素 返回长度 scile 截取数组scile(start,end) splice向数组添加新的元素splice(start,end,'addvalue') */ var a = ['joker','inks','pin','mike',123]; var b = [1,2,3,11,4,5,6,111]; var c = ['joker','inks','pin','mike',123]; var arr = b.sort( function(a,b){ return b-a; } ); console.log(arr); console.log(b);
正则
/* 量词 :
n+: 匹配一个或多个字符串
n*: 匹配0或以上字符串
n?: 匹配0/1个字符串
n{x,y}至少是x-y个这样的字符串
^n :这个字符串开头
n$:这个字符串结尾
*/
/* 转义符
.n 查找n字符串
\W 查找大写英文字符串
\w 查找小写写英文字符串
\d 查找数字
\D 查找非数字
\s 查找空个字符串
\S 查找非空格
*/
/*方括号
[abc]==a|b|c==[a-c] [0-9A-z]
[^]除这个集合以外字符
*/
/*
修饰符 g(全局搜所) i(无视大小写)
书写var reg =RegExp('匹配字符串','搜索类型');字面量 var reg = /'匹配字符串'/g(搜索类型)
reg.test()方法匹配是否正确 false true
String里方法配合正则
search(/abc/) 返回位数
match 查找出现的字符串
replace(/n/,'替换字符串') 替换字符串
split(/[0-9]/) 切合字符串以数组形式表达
*/