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('年')))
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 代表全部

常用处理数组、字符串API → forEach every some sort map filter slice split indexOf concat substring substr splice join toString replace的更多相关文章

  1. 常见数组&字符串API及其应用场景总结

    数组API: String(arr):将arr中每个元素转化为字符串,逗号连接     场景:用于鉴别数据有没有修改等. ps:String是万能的   toString 只能转换除null和unde ...

  2. js常用的数组,,字符串,,Math..正则方法

    数组 slice[start,end] 返回从原数组中指定开始下标到结束下标之间的项目组成新数组(不会影响原数组) splice() 1.删除功能:2个参数 , 起始位置 , 删除的项目 2.插入功能 ...

  3. 学习笔记-es5新增的一些数组的API(不全)-字符串-字符串API(不全)

    ### es5新增的数组的api + indexOf() 搜索数组中的元素,并返回它所在的位置. arr.indexOf(str,index) 参数: str为要查找的字符串 index为开始查找的下 ...

  4. Jquery中数组转字符串,c:foreach自动将带","字符串进行拆分赋值

    1.数组转字符串,逗号分割 a.push()将元素依次添加至数组: b.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] <script type = text/javascri ...

  5. JavaScript -- 常用的数组及字符串方法

    数组 var arr= new Array(); arr.push(); //在数组尾部添加一个元素,返回新的长度 *原数组发生变化 arr.pop(); //删除最后一个元素,返回的是被删除的元素 ...

  6. 编程算法基地-2.1利用字符串API

    2.1利用字符串API 字符串是Java类型最常用.并且是复合类型 串非常经常用于,其最佳API熟悉文档. 推断串中有没有反复的字符 String s ="abcdebxyz"; ...

  7. js数据类型以及数组字符串常用方法

    JS判断数据类型 例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e ...

  8. js中数组的api整理

    首先列出所有的方法: join(), sort(), slice(), splice(), concat(), reverse(), push()+pop(), shift()+unshift(), ...

  9. JavaScript中的常用的数组操作方法

    JavaScript中的常用的数组操作方法 一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2 ...

随机推荐

  1. Sitecore系统教程之模板理解

    Sitecore中的所有内容都是一个项目.模板也是如此.Sitecore中的模板是一个项目,它定义了其他项目的结构和行为.Sitecore中的每个项目都是某个模板的实例.模板还可以定义它分解成的部分和 ...

  2. CSS选择符-----伪类选择符

    Element:hover E:hover { sRules }  设置元素在其鼠标悬停时的样式 <!DOCTYPE html> <html> <head> < ...

  3. nodejs之pm2自动重启服务

    pm2 start xxx #启动服务器 pm2 list #查看运行状态 pm2 logs #查看日志 pm2 restart xxx #重启应用 pm2 stop xxx #停止应用 监听修改,并 ...

  4. Linux基础命令---init进程

    init init是所有进程的父进程,它由内核执行,可以启动其他所有的进程.init指令在启动时会参考/etc/inittab文件的配置,完成其他进程的启动.init通常不会由用户进程执行,并且期望进 ...

  5. Building Tool(Maven/Gradle)

    构建工具的简单介绍 在代码世界中有三大构建工具,ant.Maven和Gradle.现在的状况是maven和gradle并存,gradle使用的越来越广泛.Maven使用基于XML的配置,Gradle采 ...

  6. 大数据学习路线:Hadoop集群同步技术分享

    今天给大家带来的技术分享是——Hadoop集群同步. 一.同步方式 选择一个机器,作为时间服务器(这里选择hadoop01),所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间. ...

  7. docker log directory

    Ubuntu - /var/log/upstart/docker.log Boot2Docker - /var/log/docker.log Debian GNU/Linux - /var/log/d ...

  8. webpack 创建vue项目过程中遇到的问题和解决方法

    目录 1 webpack简介 2 webpack实现多个输入输出多个html 3  webpack 中的module下rules 下的use和loader选项 4 webpack 文件更新,如何使页面 ...

  9. airtest 记录

    from airtest.core.api import * # 通过ADB连接本地Android设备 connect_device("Android:///") #安装待测软件a ...

  10. 通过RMAN 识别失败数据库损坏的对象

    背景 业务起不来,读取数据库时报坏块,无法读取数据 数据库版本:11.2.0.3 数据库无备份,无归档 1. 识别坏块 执行以下命令后,rman 会把坏块信息统计到 v$database_block_ ...