数组的方法(15个)

对象数据类型;
数组成员有一个与之对应的索引
length : 代表数组成员的个数;
操作改变数组一些方法;这些数组的方法都是内置的;
// 1. 方法作用;
// 2. 方法的参数
// 3. 方法返回值
// 4. 原有的数组是否发生改变;

1.push

1): 向数组末尾新增一项;
2): 参数是新增的那一项;可以传多个;
3): 新数组的数组成员的个数;
4): 原有数组发生改变;
var ary = [12,89,89,36,0,"dsh",true,99];
ary.push(100)
ary[ary.length] = 100;
console.log(ary);

2.pop

1) : 删除数组的最后一项
2) : 不需要传参数
3) : 被删除的那一项
4) : 原有数组发生改变;
ary.pop();
delete ary[ary.length-1]
console.log(ary[7]);
ary.length--;

3:unshift

1): 向数组开头新增一项;
2): 需要传参数
3): 新数组的数组成员个数
4): 原有数组发生改变;
ary.unshift(12);
console.log(ary);

4.shift

1): 删除数组的第一项
2): 不需要传参
3): 被删除的那一项
4): 原有数组的发生改变;
ary.shift();

5.slice

1) : 数组的截取
2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包]
slice(m) : 从索引m开始,截取到末尾;
slice():数组的克隆 slice(0);
// 索引负数: 让当前length+负数;
3) : 返回值是截取的数组
4) : 原有数组不发生改变;
var ary = [12,89,89,36,0,"dsh",true,99];
ary.slice()// 不传参;复制克隆
ary.slice(1)// 从索引1开始,截取到数组的末尾
ary.slice(2,6)// 从索引2开始,截取到索引8;但是不包含8;
//支持负数
ary.slice(6,4) // []

6.splice

1) : 删除数组中的某几项
2) : splice(m,n): 从索引开始,删除n个
splice(m) : 从索引m开始删除到末尾;
splice(0):
splice(m,x,n);替换从索引m开始,删除x个,用n替换;
3): 返回值;删除那几项,并且以数组返回
4) : 原有数组发生改变;
ary.splice(0);// 从索引0开始,删除到数组的末尾
ary.splice(1,4) // 从索引1开始,删除4项
ary.splice(1,3,5,19)// 替换
ary.splice(1,0,5)// 在索引1的前面新增一项数字5;
console.log(ary);

7.sort

1) : 数组排序
2) :参数
  • 1.sort() : 只能数组成员是相同位数的数组
  • 2.sort(function(a,b){return a-b}) 从小到大排序
  • 3.sort(function(a,b){return b-a})从大到小
    3) : 是排序之后的数组
    4) : 原有数组发生改变;
ary.sort() : 只能排数组成员位数相同的数组;
var ary = [12,8,99,67,85,1,35,66,"78"];
var ary = [1,8,5,3,2];
var ary = [123,678,987,567,345,234];
ary.sort(function (a,b) {
return a-b;
});
var newAry = ary.sort(function (a,b) {
return b-a;
});
console.log(newAry);

8.reverse

1): 将数组颠倒过来
2): 不需要传参数
3): 数组成员顺序倒过来之后的数组
4): 原有发生改变;
console.log(ary.reverse());
console.log(ary);

9.concat :

1) : 数组的拼接
2) :
  • 1.不传参数: 数组的克隆
  • 2.传参数,(数组、每一项);把传入的实参拼接新的数组中;
    3) : 拼接之后的新数组
    4) : 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,35,66,"78",66];
var ary1 =[1,2,3]
console.log(ary.concat([100,200,null]));
var a = ary.concat();
console.log(ary.concat());

10.join

1) : 把数组成员按照特定的字符连接成一个字符串;

2) :

  • 1.不传参数,会默认按照逗号分开
  • 2.传参数,(特定的字符)
    3) : 拼接之后的字符串
    4) :原有数组不发生改变;
console.log(ary.join("+"));//"12+8+99+67+85+1+35+66+78"
console.log(ary.join(""));//"1289967851356678"
console.log(ary.join());//"12,8,99,67,85,1,35,66,78"

11.indexOf

1) : 检测数组成员在数组中第一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中第一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.indexOf(66));
console.log(ary.indexOf(666));
console.log(ary.indexOf(888));

12.lastIndexOf

1) : 检测数组成员在数组中最后一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中最后一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.lastIndexOf(66));

13 .map

1) : 遍历数组和映射
2): 需要参数
3) : 映射之后的数组
4): 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,"78",66];
var total= null;
var mn = ary.map(function (item,index) {
console.log(item);//遍历数组;第一个参数就是数组成员
console.log(index);// 代表数组成员的索引
return "<li></li>>";
// 求和
total +=Number(item);
console.log(total);
console.log(mn);

14.forEach

1) : 遍历数组;没有返回值;
2) : 需要参数
3) : 返回值是undefined
4) : 原有数组不发生改变;
var bhh = ary.forEach(function (item,index) {
console.log(item);
return 10;
})
console.log(bhh);//undefined
console.log(ary);

15.toString

1) : 转字符串
2) : 不需要参数
3) : 返回一个去了中括号之后的字符串
4) : 原有数组不变;
var ary = [1,23,8,9,90]
console.log(ary.toString());// "1,23,8,9,90"
console.log([12].toString());// "12"
console.log([].toString());// ""
console.log(ary);

JavaScript基础知识(数组的方法)的更多相关文章

  1. javascript基础知识-数组

    1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配 2.javascript数组是无类型的 3.数组元素不一定要连续 4.针对稀疏数组,length比所有元素的索引都要大 ...

  2. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  5. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  6. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  7. javascript 克隆对象/数组的方法 clone()

      1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; ...

  8. JavaScript 基础(六) 数组方法 闭包

    在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...

  9. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

随机推荐

  1. CentOS7.2网络配置

    修改hostname vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain ...

  2. [Python设计模式] 第18章 游戏角色备份——备忘录模式

    github地址:https://github.com/cheesezh/python_design_patterns 题目 用代码模拟以下场景,一个游戏角色有生命力,攻击力,防御力等数据,在打Bos ...

  3. springcloud的Zuul配置重试和fallback

    可以参考如下blog: SpringCloud学习03之api服务网关zuul反向代理及重试配置 springCloud学习04之api服务网关zuul回退fallback 注意:重试的开启需要处理幂 ...

  4. centos7 安装curl-7.51.0

    curl简介curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途.对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便.而且另一方面 ...

  5. IoC之AutoFac(一)——简单使用和组件注册

    阅读目录 一.AutoFac简单使用 二.注册 2.1 注册方式 2.2 带参数注册 回到顶部 一.AutoFac简单使用 1 namespace AutofacDemo 2 { 3 class Pr ...

  6. PHP操作二进制字节数据

    在PHP开发中大都是操作字符类数据,极为方便,但操作二进制又如何呢,下面代码举例看看. 函数:  pack(format,args+) pack()和unpack()函数的第一个参数表如下 Bash ...

  7. 查看PostgreSQL正在执行的SQL

    SELECT procpid, START, now() - START AS lap, current_query FROM ( SELECT backendid, pg_stat_get_back ...

  8. 关于asyncio知识(一)

    一.介绍 asyncio 是python3.4 引入的一个新的并发模块,主要通过使用coroutines 和 futures 来让我们更容易的去实现异步的功能,并且几乎和写同步代码一样的写代码,还没有 ...

  9. Atitit 管理的模式扁平化管理 金字塔 直线型管理 垂直管理 水平管理 矩阵式管理 网状式样管理 多头管理 双头管理

    Atitit 管理的模式扁平化管理  金字塔 直线型管理 垂直管理 水平管理 矩阵式管理 网状式样管理 多头管理 双头管理 1.1. 矩阵管理 1 1.2. 相关信息 矩阵的历史 1 1.3. 基于“ ...

  10. Unix时间转LInux时间

    private static long getTime() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = ...