常用处理数组、字符串API → forEach every some sort map filter slice split indexOf co...

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 

// 结果为2
console.log(arr.indexOf(3));
console.log(arr.indexOf(3)==-1) //false indexOf(3) arr里面可以找到 而右边的==-1是返回找不到的返回结果 所以他们不相等 就返回false了

//结果为0  这个0是下标 arr的下标0 就是指向1
console.log(arr.indexOf(1));

//结果为-1 不存在则返回-1
console.log(arr.indexOf(6));

 
//返回'd'在hello字符串中首次出现的位置

// 结果为9
console.log(hello.indexOf('d'));
//结果0
console.log(hello.indexOf('h'));
//结果-1
console.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('年'))) //1993
console.log(a.substring(0, a.length - 2)) //199
console.log(a.substr(0, a.length - 2))//199

上面的是从后面去掉 下面示例一个 向前的
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 代表全部
'0001200'.replace(/\b(0+)/gi,"") // 去掉 0的操作
结果为 1200

 

转载于:https://www.cnblogs.com/Model-Zachary/p/7469330.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值