js数组常用api

  • 连接函数:join("连接符")

    var array = [1,2,3,4,5]
    console.log(array.join("+"))

  • 拼接函数:concat(str|array)

    参数是数据的话,则把数据拼接到数组后,如果是数组元素,则将参数数组的元素拼接到该数组后而不是参数数组

    var a = [1,2,3];
    a.concat(4,5); // [1,2,3,4,5]
    a.concat([4,5]); // [1,2,3,4,5]
    a.concat(4, [5, [6, 7]]); // [1,2,3,4,5,[6,7]]
  • 截取函数:arr.slice(start[end])

    end可省略,表示从start位置一直截取到末尾

    var array = [1,2,3,4,5]
    console.log(array.slice(3))//返回一个新数组

  • 删除、插入、替换:arr.splice(start, deleteCount [,value1,value2...])

    (1)直接修改原数组。

    (2)返回所有被删除元素组成的子数组。

    (3)如果 deleteCount 是 0,表示插入元素,插入的元素会排在 start 处元素之前。

    (4) 如果是删除,从 start 开始,并包含 start 处的元素。

    var array2 = [1,2,3,4,5,6,7,8,9]
    console.log(array2.splice(2,3))
    console.log(array2)
    array2.splice(2,0,3,4,5)
    console.log(array2)

  • 翻转数组:reverse()

    修改原数组

  • 排序:sort()

    • 默认按照元素第一位ascll码升序排列

    ​ 可以设置下列的比较器函数来控制升序,降序或者打乱。

    ​ (1)arr.sort(function(a,b){return a-b;}); 升序(只限数组中是数字或者数字字符串)。

    ​ (2)arr.sort(function(a,b){return b-a;}); 降序(只限数组中是数字或者数字字符串)。

    ​ (3)arr.sort(function(){

    ​ return Math.random()>.5 ? 1 : -1;

    ​ });随机打乱数组(数组中可以是任何数据类型)

    var array3 = [5,4,1,32,6,2,4,54,57,8,23]
    array3.sort()
    console.log(array3)
    array3.sort(function(){
    return Math.random()>.5 ? 1 : -1;
    })
    console.log(array3)
    array3.sort(function(a, b) {
    return b-a;
    })
    console.log(array3)

  • 查找:indexOf()或者lastIndexOf(value[,from])

    返回value在数组中的索引,没有找到返回-1。

    var array = [1,2,3,4,5]
    console.log(array.indexOf(3))

  • 循环数组:forEach(function(value,index,arr){})

    ​ map(function(value,index,arr){})

  • 数组转字符串:toString()

    将数组用逗号连接,类似于join(",")

  • 开头入栈:unshift(number,...)

    数组开头插入元素

  • 开头出栈:shift()

    弹出最开头元素

  • 结尾入栈:push(number,...)

  • 结尾出栈:pop()

  • 全部条件验证:every(item=>{return 条件})

    验证数组元素是否全部符合条件

    var array4 = [5,4,1,32,6,2,4,54,57,8,23]
    console.log(array4.every(item=>{
    return item<90
    }))
    console.log(array4.every(item=>{
    return item>10
    }))

  • 部分条件验证:some(item=>{return 条件})

    有一个元素满足条件则退出

  • 条件过滤:filter(item=>{return 条件})

    满足条件的子元素组成一个数组返回

    var array4 = [5,4,1,32,6,2,4,54,57,8,23]
    console.log(array4.filter(item=>{
    return item>10
    }))

  • 功能性遍历:reduce()

    累加功能:

    let a = [1,2,3,4].reduce(function(x, y) {
    return x + y;
    });

    数组转对象:

    const arr = [
    {id: '1', name: 'Jim'},
    {id: '2', name: 'Lily'},
    {id: '3', name: 'Allen'}
    ]
    let obj = arr.reduce((acc, current) => {
    return {...acc, [current.id]: current};
    }, {})
    console.log(obj)
    // {
    // 1: {id: '1', name: 'Jim'},
    // 2: {id: '2', name: 'Lily'},
    // 3: {id: '3', name: 'Allen'}
    // }

    将二维数组扁平化为一维数组

    const array1 = [
    ['没','有', '共','产','主义'],
    ['就', '没', '有', '新', '中','国']
    ];
    let array2 = array1.reduce((acc, current) => {
    return acc.concat(current);
    }, [])
    console.log('arrLevel1', arrLevel1)
    // -> ['没','有', '共','产','主义','就', '没', '有', '新', '中','国']
  • 找元素:find(item=>{return 条件})

    和some不同的是,他返回的是元素

  • 找元素(下标):findIndex(item=>{return 条件})

    和find不同的是,他返回的是元素下标

  • 找元素:includes(value)

    和some不同的是,他参数是元素

  • 转化为本地化字符串toLocaleString()

对象常用api

Object对象
  • 属性合并:assign(目标对象,属性源....)

    let target = {"name":"张三","年龄":"18"}
    let sourse = {"sex":"男","职业":"程序员"}
    Object.assign(target,sourse)
    console.log(target)

  • 获取对象原型:getPrototypeOf(obj)

  • 判断对象是否可扩展(是否可在上面新增属性):isExtensible(obj)

  • 阻止对象被扩展:preventExtensions(obj)

  • 判断两个值是否相同:is(value1,value2)

  • 返回对象可枚举属性的数组:values(obj)

String对象
  • 返回指定位置的字符:charAt(number)

  • 返回指定位置字符的Unicode编码:charCodeAt(number)

  • 将Unicode码转换为字符串:fromCharCode()

  • 选取字符串:slice(start,end)

    类似于数组的截取函数slice

  • 分隔数组:split(“?”)

    将字符串以"?"分割成数组

    var a = "没有共产dang,就没有新中国!"
    console.log(a.split(","))
    console.log(a.split(""))

  • 返回指定字符串的第一个位置:indexOf()

  • 大写转换:toLowerCase()

  • 小写转换:toUpperCase()

    var str = "AbCdefGhIJklmN";
    console.log(str.toUpperCase());
    console.log(str.toLowerCase());

  • 正则匹配:match()
  • 字符替换:replace()
  • 字符匹配:search()
Number对象
  • 数字转化:Number()

    将括号里的字符转化为数字类型

  • 转化字符:toString()

    将数字转化为字符串

  • 四舍五入:toFixed(n)

    小数点后n位四舍五入

  • 整数转换:parseInt()

  • 浮点数转换:parseFloat()

Web初级——数组对象常用api的更多相关文章

  1. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

  2. Javascript 数组对象常用的API

    常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...

  3. JQUERY-事件-动画-类数组对象-添加自定义API

    正课: 1. 事件: 2. 动画: 3. 类数组对象操作: 4. 添加自定义API: 1. 事件: 1. 页面加载后执行: 2个时机 1. DOM内容加载完成: 仅包括html, js DOMCont ...

  4. JavaScript 数组对象常用属性

    concat() 用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. var a = ["aa","ccc"]; var b ...

  5. 字符串、数组、对象常用API

    常用的字符串API  1.常见方法和属性 length 属性,获取字符串的字符数量 charAt(i) 返回给定位置的字符 charCodeAt( ) 返回给定位置的字符的字符编码 <scrip ...

  6. 数组和对象常用API

    数组API: 1. forEach 遍历所有元素 var arr = [1,2,3] arr.forEach(function(item,index){ // 遍历数组的所有元素 console.lo ...

  7. Java一维数组二维数组详解API

    所谓数组,是有序的元素序列. 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编号称为下标 ...

  8. web内置对象

    内置对象,宿主对象,自定义对象的区别?     内置对象:         系统所提供的对象:Object,Array,Math,Date等等.     宿主对象:         JS所运行的环境提 ...

  9. js学习---常用的内置对象(API)小结 :

    内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份  如:2016 getMonth()    返回月份,从0开始 getDate()   返回当前月的第几天,当 ...

  10. javascript 原生常用api 数组方法大全

     <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. 16.MongoDB系列之分片管理

    1. 查看当前状态 1.1 查看配置信息 mongos> use config // 查看分片 mongos> db.shards.find() { "_id" : & ...

  2. Java模拟生产者-消费者问题。生产者不断的往仓库中存放产品,消费者从仓库中消费产品。其中生产者和消费者都可以有若干个。在这里,生产者是一个线程,消费者是一个线程。仓库容量有限,只有库满时生产者不能存

    需求分析:生产者生产产品,存放在仓库里,消费者从仓库里消费产品. 程序分析: 1.生产者仅仅在仓储未满时候生产,仓满则停止生产. 2.消费者仅仅在仓储有产品时候才能消费,仓空则等待. 3.当消费者发现 ...

  3. LcdTools如何自定义读写PX01 SSD2828寄存器

    LcdToos打开相应的工程文件,连接PX01并开启点亮屏使LcdTools开关处于开启状态. 切到"测试设置"栏,在"Bridge控制"栏,在"Ad ...

  4. Linux三剑客sed

    注意sed和awk使用单引号,双引号有特殊解释 sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器. sed是操作.过滤和转换文本内容的强大工具. 常用功能包括结合正则表达式对文件 ...

  5. Java多线程(6):锁与AQS(下)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前说过,AQS(抽象队列同步器)是Java锁机制的底层实现.既然它这么优秀,是骡子是马,就拉出来溜溜吧. 首先用重入锁来实现简单的累加,就像这 ...

  6. 5 why 分析法,一种用于归纳抽象出解决方案的好方法

    最近在看了<微信背后的产品观 - 张小龙手抄版>,其中有段话如下: 用户需求是零散的,解决方案是归纳抽象的过程 那如何归纳抽象呢?是否有一定的实践方法论呢?经过一轮探讨和学习,有这些答案: ...

  7. CSP-J/S 2021 游记

    \(\large\texttt{Day -1}\) 晚上好累啊,去集训了,回来之后发现十一点了还码了一会儿,只能祈求上帝明天不会打瞌睡. \(\large\texttt{Day 0}\) 意料中的事情 ...

  8. AtCoder Beginner Contest 277 题解

    掉大分力(悲 A - ^{-1} 直接模拟. #include<bits/stdc++.h> #define IOS ios::sync_with_stdio(false) #define ...

  9. 当 xxl-job 遇上 docker → 它晕了,我也乱了!

    开心一刻 公交车上,一位老大爷睡着了,身体依靠在背后的一位年轻小伙子身上 小伙子一直保持站姿十几分钟,直到老人下车 这位在校大学生,接受采访时说:"当时就觉得背后这个人很轻盈,以为是个姑娘! ...

  10. Go语言核心36讲42-----io包中接口的好处与优势

    我们在前几篇文章中,主要讨论了strings.Builder.strings.Reader和bytes.Buffer这三个数据类型. 知识回顾 还记得吗?当时我还问过你"它们都实现了哪些接口 ...