数组的创建方式:

1. 数组直接量

var arr = []   // 创建一个空数组
var arr = [1,2,3,4] // 创建同时初始化元素

2. 实例化对象

var arr=new Array();  // 此时的arr.length 等于 0   输出:String(arr)等于 ""

3.创建空数组,初始化元素个数:

var arr=new Array(n);  // 此时的 arr.length 等于 n   输出:String(arr) 等于 ,,,,,,,...

4.创建数组同时初始化元素:

var arr=new Array(值1,值2...);

关于数组的各种API:

1. 数组转字符串  String      join

凡是频繁字符串拼接,都要用数组.join实现

var str=String(arr); // 默认用逗号分隔每个元素值

 var str=arr.join("自定义连接符");  // 如果省略自定义参数,默认和String相同

将数组元素拼接为页面元素固定套路:

开始标签+arr.join("结束标签开始标签")+结束标签

2. 拼接和截取:【不修改原数组,生成新数组】 concat(拼接)    slice(截取)

拼接:数组名.concat(新增的各个值)    新增的值可以是单个,也可以是数组,参数中的数组会被打撒成单个元素,再拼接,将参数中的值追加到arr1的值之后,【返回新数组】

 var newArr=arr1.concat(值1,值2,arr2,...)

例子:

    var arr1=[1,2,3];
var arr2 = [];
arr2=arr1.concat(12,23,[123,33]); //拼接 console.log(arr1) //输出[1,2,3]
console.log(arr2); //输出[1,2,3,12,23,123,33] var subArr=arr2.slice(2,4+1); //截取2~4下标 3个元素,含头不含尾
console.log(subArr); //输出[3,12,23]
console.log(arr2); //输出[1,2,3,12,23,123,33]

3. 删除  插入  替换:直接【修改原数组】  splice

默认接收三个值, starti、n、值...

删除: var deleted=arr.splice(starti, n)                   starti 是开始删除的位置     n 是删除个数     deleted 接收被删除的元素组成的临时子数组    省略第三个值

插入: arr.splice(starti,, 值1, 值2,...)                在 starti 位置插入多个值   原starti位置的值向后顺移。    此时的n值永远为0

替换: var deleted=arr.splice(starti, n, 值1,...);       删除的元素个数n,不一定和新值个数相等。    splice方法没有打散数组参数的功能      三个参数都有值

var arr = [1,2,3,4,5,6]

var deleted=arr.splice(2, 3)     // 从下标 2 开始,截取 3 个值

console.log(arr)              // 输出[1,2,6]    原数组被改变
console.log(deleted)     // 输出[3,4,5] arr = [1,2,3,4,5,6] arr.splice(3,0,11,12,13) // 从下标3开始,在后面加入11,12,13 console.log(arr)      // 输出 [1,2,3,11,12,13,4,5,6] arr = [1,2,3,4,5,6] var deleted=arr.splice(2,3,101,102,103) // 从下标 2 开始,截取 3 个值, 添加3个值 console.log(arr) // 输出[1,2,101,102,103,6] 原数组被改变 ,截取的位置刚好被添加的值替换
console.log(deleted) // 输出[3,4,5]

4.栈和队列  【修改原数组】 push  pop   unshift    shift

js中没有专门栈和队列类型,其实都是用数组模拟的

arr.push(值)          将 值 压入数组末尾

var last=arr.pop()      从数组 末尾 弹出1个元素      不能传参

arr.unshift(值)     将 值 插入到开头

var first=arr.shift()       从数组 开头 弹出第1个元素

var arr = [1,2,3]   // 以下输出假设在 arr = [1,2,3] 的情况下

arr.push(10)     // 输出[1,2,3,10]

arr.pop()        // 输出[1,2]

arr.unshift(10)    // 输出 [10,1,2,3]

arr.shift()      // 输出[2,3]

5.翻转数组   【修改原数组】

arr.reverse()

6.数组的排序    【修改原数组】

arr.sort() : 默认将所有元素转为字符串PK unicode    传入函数  function compare(a,b){return a-b;}     如果为 return b-a   那么输出结果为倒序

function compare(a,b){return a-b;}

var arr = [6,9,7,2,4,0,1]

arr.sort(compare);

console.log(arr)   // 输出 [0,1,2,4,6,7,9]

数组的创建和各种API的更多相关文章

  1. 集合 数组 定义 转换 遍历 Arrays API MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组

    目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...

  3. 2.4使用属性在 ASP.NET Web API 2 路由创建一个 REST API

    Web API 2 支持一种新型的路由,称为属性路由.属性路由的一般概述,请参阅属性路由 Web API 2 中.在本教程中,您将使用属性路由创建一个 REST API 集合的书.API 将支持以下操 ...

  4. Numpy 学习之路(1)——数组的创建

    数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np fro ...

  5. php数组的创建及操作

    //数组的创建 //1 $usernames = array('李彦宏','周宏伟','马云','俞敏洪','李开复'); echo $usernames; //array,打印类型 echo '&l ...

  6. 使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件

    作者:Sreekanth Mothukuru 2016年2月18日 本文旨在介绍如何使用常用的 Swagger 和 Swashbuckle 框架创建描述 Restful API 的交互界面,并为 AP ...

  7. Java学习小结(1)-数组的创建与传参

    (一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外 ...

  8. 【ASP.NET Web API教程】2 创建各种Web API

    原文 [ASP.NET Web API教程]2 创建各种Web API Chapter 2: Creating Web APIs第2章 创建各种Web API 本文引自:http://www.asp. ...

  9. 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】

    Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...

随机推荐

  1. MySQL主从复制原理以及架构

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并 ...

  2. Generation Axe 吉他之夜音乐会-广州站 感受

    本人第一次看音乐会,演唱会跟音乐会是有区别的哈,演唱会以表演.舞蹈.歌唱为主,还有很多特别嘉宾 演出时间: 从20点开始一直到23点多才结束,有五个吉他手,开场跟结束五个吉他手一齐演出.平均每个人表演 ...

  3. C# 各种帮助类大全

    前言 此篇专门记录一些常见DB帮助类及其他帮助类,以便使用时不用重复造轮子. DBHelper帮助类 ①首当其冲的就是Sql Server帮助类,创建名为DbHelperSQL 的类 ,全部代码如下: ...

  4. ABP .Net Core 日志组件集成使用NLog

    一.说明 NLog介绍和使用说明官网:http://nlog-project.org/ NLog和Log4net对比:https://www.cnblogs.com/qinjin/p/5134982. ...

  5. 02-01官网静默模式安装WebLogic

    参考连接:https://docs.oracle.com/middleware/11119/wls/WLSIG/silent.htm#CIHCAHGC 以静默模式运行安装程序 本章介绍如何以静默方式运 ...

  6. web打印总结

    一.打印样式 区别显示和打印的样式 使用media="print"控制打印时的样式,如下: 打印时不显示打印按钮,设置页面宽度 <style media="prin ...

  7. 关于pocsuite的使用

    0x00 前言 pocsuite的用处就不多说了,早些时候也看到黑哥和余弦大佬在微博上说zoomeye 和pocsuite升级了. 结合最近自己在审计cms,也想收集一下其他cms的poc,比如chy ...

  8. xssgame挑战wp

    前言 昨晚做了一些xss的题目,有点上瘾了,今天想着再找一些来做做. google了一下,发现了不少,找到这么一个. 地址: https://xss-game.appspot.com 这是一个国外的x ...

  9. yum部署、使用 zabbix监控 - 详细过程

    yum部署zabbix监控 第1章 yum部署zabbix服务端... 1 1.1 命令行部署... 1 1.1.1 yum源配置-解释... 2 1.1.2 MariaDB 与 mysql 3 1. ...

  10. c语言贪吃蛇详解4.食物的投放与蛇的变长

    c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...