Object与Array的语法糖
var arr = [1,2,3]; // [] 是 new Array(1,2,3) 的语法糖(简写) var obj = {'name':2,'age':3}; //{} 是 new Object() 的简写// var obj2 = new Object();// obj2.name=2;// obj2.age=3;
forEach 便利所有元素
arr.forEach(function(item,index){ // 遍历数组所有元素 console.log(item)// 1 2 3})
Every 判断所有元素是否都符合所有条件
var pd = arr.every(function(item,index){ // 用来判断所有数组元素 都满足一个条件 if(item<4){ return true; } }) console.log(pd)//true
some 判断至少有一个元素是否符合这个条件
var pd2 = arr.some(function(item,index){ //用来判断所有数组元素 都满足一个条件 if(item<2){ return true; }}) console.log(pd2)//true
sort 从小到大排序
var arrSort = new Array(1,4,5,7,9,3);var px = arrSort.sort(function(a,b){ // 从小到大 return a - b; // 从大到小 // return b - a;})console.log(px) //[1, 3, 4, 5, 7, 9]
map 对元素重新组装 生成新数组 可以赋值并返回 看下面赋值为cz
var cz = arr.map(function(item,index){ return '<b>'+item+'</b>'})console.log(cz)//["<b>1</b>", "<b>2</b>", "<b>3</b>"]
filter 过滤符合条件的元素
var fi = arr.filter(function(item,index){ // 过滤掉不符合条件的数组元素 if(item>=2){ return true; }})console.log(fi) // [2, 3]
slice和splice的区别以及应用
注意:slice() 截取数组中的部分元素 在用之前最好做一个判断因为 前面的参数为负数的时候就会全部输出你可以 这样做判断var pd = -1 if(pd>-1){demoArr.slice(pd,7)} 这样防止负数 输出全部
// 可以用以删除 操作
console.log([1, 2, 3, 4, 5, 6, 7].slice(index, index + 1))
var demoArr = [1,2,3,4,5,6,7,8,9,10]demoArr.splice(0,0,0) //后面一位 0 是插入的内容console.log(demoArr)//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]数组拼接字符join('-')var demo = [1,2,3,4,5,6,7]//demo.slice(2,3) //[3]demo.splice(2,3) //[3,4,5]//console.log('slice',demo) // 操作后打印出demo会原样输出数组 [1,2,3,4,5,6,7]console.log('splice',demo) // 操作后打印出demo会删除掉 这里选中的元素 3,4,5 也就是会输出[1,2,6,7]区别总结 第一 slice 不会 删除数组内的元素 splice会 第二 slice 可以对字符串 进行处理 splice 不可以第三 slice 不可以出入并替换掉元素 splice可以 splice(0,0,0)最后以为0就是为了添加元素的 如果 前面有将会被替换第四 slice 第一位是从下标0开始的 第二位是从第一位开始的位置算 splice是从1开始 第二位接着第一位结束的后面算 splice还有第三位 那就是上面例子体现的 插入的内容
indexOf去除数组内重复的元素并排序
var cfArr = ['b','g','a','c','e','f','d','a','g','b'];var zzArr = []; for(var i=0;i<cfArr.length;i++){ if(zzArr.indexOf(cfArr[i])==-1){ zzArr.push(cfArr[i]) } } console.log(zzArr.sort())
indexOf一般状态0和-1的详解
var arr = [1,2,3,4,5];var hello = 'hello word';//如果3 在arr数组中存在,返回键值,否则返回-1 // 结果为2console.log(arr.indexOf(3));console.log(arr.indexOf(3)==-1) //false indexOf(3) arr里面可以找到 而右边的==-1是返回找不到的返回结果 所以他们不相等 就返回false了//结果为0 这个0是下标 arr的下标0 就是指向1console.log(arr.indexOf(1));//结果为-1 不存在则返回-1console.log(arr.indexOf(6));//返回'd'在hello字符串中首次出现的位置// 结果为9console.log(hello.indexOf('d'));//结果0console.log(hello.indexOf('h'));//结果-1console.log(hello.indexOf('b'));注意:Array.includes代替Array.indexOf
concat链接数组
我们创建了三个数组,然后使用 concat() 把它们连接起来:var arr = ["George","John","Thomas"]var arr2 = ["James","Adrew","Martin"]var arr3 = ["William","Franklin"]document.write(arr.concat(arr2,arr3))输出:George,John,Thomas,James,Adrew,Martin,William,Franklin
substring 和 substr 处理字符串
let a = '1993年'console.log(a.substring(0, a.lastIndexOf('年')))console.log(a.substring(0, a.length - 2))console.log(a.substr(0, a.length - 2))上面的是从后面去掉 下面示例一个 向前的console.log(a.substr(a.length, a.length - 2))//3年或者console.log(a.substr(-2))//3年
split把字符串分割成数组 同时又可以截取 对应的字符串
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"]"|a|b|c".split("|") //将返回["", "a", "b", "c"]"hello".split("") //可返回 ["h", "e", "l", "l", "o"]"hello".split("", 3) //可返回 ["h", "e", "l"]注:"" 和 " "是有区别的例如:var str="How are you doing today?" str.split("") //将返回H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? str.split(" ") //可返回How,are,you这说明 是 过滤 "" 和 " "过滤 条件不同实例演示'http://192.168.0.151:8080/#/personalCenter'.split('http://192.168.0.151:8080/#/')[1].split(' ')[0]返回结果"personalCenter"
toString将数组转换成字符串
["新濠影汇", "澳门银河"].toString() // "新濠影汇,澳门银河"或者["新濠影汇", "澳门银河"].join(',') // "新濠影汇,澳门银河"
replace字符串替换内容
var demo = 'A栋\A座\1002' //去掉/demo.replace(/\//g, "") 即可 g 代表全部