数组

创建数组的基本方式有两种:

1、使用 Array构造函数

语法:new Array()

小括号( )说明:

(1)预先知道数组要保存的项目数量

(2)向Array构造函数中传递数组应包含的项

2、使用数组字面量表示法

由一对包含数组项的方括号[ ]表示,多个数组项之间以逗号隔开。

读取和设置值时,使用方括号[ ]并提供相应的索引

说明:索引是从0开始的正整数

//创建一个空的数组
var color = new Array();
//给数组赋值
color[0] = 'red';
color[1] = 'yellow';
color[2] = 'green';
console.log(color);
//创建时赋值,方法一
var nums = new Array(1,3,57);
console.log(nums);
//创建时赋值,方法二
var info = [6,'job',99]
console.log(info)
//取值,用索引
console.log(info[1])

结果:

["red", "yellow", "green"]
[1, 3, 57]
[6, "job", 99]
job

数组长度

语法:array.length

功能:获取数组array的长度

返回值:number

说明:

1、通过设置length可以从数组的末尾移除项或向数组中添加新项。

2、当把一个值放在超出当前数组大小的位置上时,数组就会重新计算其长度值,长度值等于最后一项的索引加1。

var arr = ['a','b','c','d']
console.log(arr.length); //数组的长度
arr.length = 2; //数组的长度保留前两个,其余的删掉
console.log(arr);
arr[99] = 100;
console.log(arr.length);//最后一项的索引为99,所以长度为100

结果:

4
["a", "b"]
100
数组的遍历
var arr = ['a','b','c','d']
for (var i=0;i<arr.length;i++){
console.log(arr[i])
}

push和unshift

push语法:

arrayObject.push(newele1,newele2,....,neweX)

功能:

把它的参数顺序添加到 arrayObject 的尾部。

返回值:

把指定的值添加到数组后的新长度。

unshift语法:

arrayObject.unshift(newele1,newele2,....,neweX)

功能:

把它的参数顺序添加到 arrayObject 的开头。

返回值:

把指定的值添加到数组后的新长度。

//push
var color = new Array('red','green');
var len = color.push('blue','yellow');
console.log(color);
console.log(len);
//unshift
var num = [2,7,8,6];
var size = num.unshift(99,66);
console.log(num)

结果;

["red", "green", "blue", "yellow"]
4
[99, 66, 2, 7, 8, 6]

pop和shift

pop语法:

arrayObject.pop()

功能:

删除 arrayObject 的最后一个元素

返回值:

被删除的那个元素

shift语法:

arrayObject.shift()

功能:

删除 arrayObject中的第一个元素

返回值:

被删除的那个元素

//pop
var color = new Array('red','green');
var n = color.pop();
console.log(n);
console.log(color); //shift
var num = [2,7,8,6];
var m = num.shift();
console.log(m);
console.log(num);

结果:

green
["red"]
2
[7, 8, 6]

join

语法:

arrayObject.join(separator)

功能:

用于把数组中的所有元素放入一个字符串。

返回值:字符串。

var nums = [2,4,5];
var numstr = nums.join(); //默认,分隔
console.log(numstr);
var words = ['left','right','top'];
var wordstr = words.join('-');
console.log(wordstr);

结果:

2,4,5
left-right-top

reverse

语法:

stringObject.reverse()

功能:

用于颠倒数组中元素的顺序。

返回值:数组。

var num = [2,7,8,6];
num.reverse();
console.log(num);

结果:

[6, 8, 7, 2]

小练习:

给一个数组strs = ['a','b','c','d'];,返回dcba

var strs = ['a','b','c','d'];
var newstr = strs.reverse().join('');
console.log(newstr);

sort

语法:

arrayObject.sort(sortby)

功能:

用于对数组的元素进行排序。

返回值:数组。

说明:

1、即使数组中的每一项都是数值,sort()方法比较的也是字符串。

2、sort()方法可以接收一个比较函数作为参数。

var arr = [5,76,34,52,99,-3,56];
//默认
arr.sort()
//降序
arr.sort(function (a,b) {return b-a});
//升序
arr.sort(function (a,b) {return a-b});
console.log(arr)

concat

语法:

arrayObject.concat(arrayX,arrayX,......,arrayX)

功能:

用于连接两个或多个数组。

返回值:

数组。

var arr1 = ['1','43','e'],
arr2 = ['a','b','c',88],
arr3;
arr3 = arr1.concat(arr2,['77','mm']);
console.log(arr3);

结果:

["1", "43", "e", "a", "b", "c", 88, "77", "mm"]

slice

语法:

arrayObject.slice(start,end)

功能:

从已有的数组中返回选定的元素。

参数:

start (必需)规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。

end(可选)规定从何处结束选取,该参数是数组片断结束处的数组下标。

说明:

1、如果没有指定end,那么切分的数组包含从 start 到数组结束的所有元素。

2、如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置

返回值:数组

var colors = ['red','green','blue','yellow'];
var newColor = colors.slice(1,3);
console.log(newColor);

结果:

["green", "blue"]

splice

splice可以删除数组项,增加数组项,替换数组项。

删除

语法:

arrayObject.splice(index,count)

功能:

删除从 index 处开始的零个或多个元素。

返回值:

含有被删除的元素的数组。

说明:

count是要删除的项目数量,如果设置为 0,则不会删除项目。

如果不设置,则删除从index开始的所有值。

var strs = ['a','b','c','d','e','f','g'];
var delstr = strs.splice(2,2);
console.log(delstr);
console.log(strs);

结果:

["c", "d"]
["a", "b", "e", "f", "g"]
插入:

语法:

arrayObject.splice(index,0,item1,.....,itemX)

功能:

在指定位置插入值

参数:

Index:起始位置

0:要删除的项数

item1…itemX:要插入的项

返回值:数组

var strs = ['a','b','c','d','e','f','g'];
var insertArr = strs.splice(3,0,'mmmm','nnnn','kkkk');
console.log(insertArr);
console.log(strs);

结果:

[]
["a", "b", "c", "mmmm", "nnnn", "kkkk", "d", "e", "f", "g"]
替换:

语法:

arrayObject.splice(index,count,item1,.....,itemX)

功能:

在指定位置插入值,且同时删除任意数量的项

参数:

Index:起始位置

count:要删除的项数

item1…itemX:要插入的项

返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)

var strs = ['a','b','c','d','e','f','g'];
var replacesttr = strs.splice(1,2,'XX','YY','ZZ');
console.log(replacesttr);
console.log(strs);

结果:

["b", "c"]
["a", "XX", "YY", "ZZ", "d", "e", "f", "g"]

indexOf

语法:

arrayObject.indexOf(searchvalue,startIndex)

功能:

从数组的开头(位置0)开始向后查找。

参数:

searchvalue:必需,要查找的项;

startIndex:可选,起点位置的索引。

返回值:

number,查找的项在数组中的位置,没有找到的情况下返回-1。

var nums = [2,4,6,8,89,322,7,6,21];
var num1 = nums.indexOf(6);
console.log(num1);
var num2 = nums.indexOf(88);
console.log(num2);
var num3 = nums.indexOf(6,3);
console.log(num3);

结果:

2
-1
7

lastIndexOf

语法:

arrayObject.lastIndexOf(searchvalue,startIndex)

功能:

从数组的末尾开始向前查找。

参数:

searchvalue:必需,要查找的项;

startIndex:可选,起点位置的索引。

返回值:

number,查找的项在数组中的位置,没有找到的情况下返回-1。

var nums = [2,4,6,8,89,322,7,6,21];
var num1 = nums.lastIndexOf(6);
console.log(num1);
var num2 = nums.lastIndexOf(88);
console.log(num2);
var num3 = nums.lastIndexOf(6,3);
console.log(num3);

结果:

7
-1
2

JavaScript -- 内置对象数组的更多相关文章

  1. document和javaScript内置对象

    1.Document 属性: referrer //返回载入当前文档的URL URL //返回当前文档的URL 方法: getElementById(); //根据id获取html元素对象 getEl ...

  2. javascript 内置对象及常见API

    javascript 内置对象及常见API 2012-09-02 15:17 571人阅读 评论(0) 收藏 举报 javascript正则表达式文档浏览器urlstring Javascript内置 ...

  3. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  4. JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装

    知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...

  5. Javascript 笔记与总结(2-4)Javascript 内置对象

    ① String 字符串对象 fromCharCode() 静态方法, 用作为参数而传递的字符代码创建一个新的字符串. length 字符串的长度. charAt() 抽取字符串中指定位置的字符. c ...

  6. JavaScript内置对象与原生对象【转】

    原文:https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化 ...

  7. 第7天-javascript内置对象

    数组相关方法 concat 用来连接多个数组 <script> var a = [1,2,3]; var b = [3,4,5]; var c = a.concat(b); console ...

  8. javascript内置对象:Date

    JavaScript内置函数:Date时间<script>    var today=new Date();    weeks=["日","一",& ...

  9. JavaScript内置对象与原型继承

    (一)   理解JavaScript类定义 1>关于内置对象理解 console.log(Date.prototype.__proto__===Object.prototype    //tru ...

随机推荐

  1. 剑指Offer的学习笔记(C#篇)-- 二叉搜索树的后序遍历序列

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 一 . 解题思想与二叉搜索树概念 (1). 二叉树 ...

  2. 剑指Offer的学习笔记(C#篇)-- 栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  3. Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题

    Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题 问题描述: 我实在是太懒了,问题描述抄的网上的哈哈哈:https://www.jianshu.com/p/6ab7afa05 ...

  4. jmeter的Include Controller控件和Test Fragment控件和Module Controller控件

    1.Include Controller控件——给当前jmeter脚本引入外部片段的jmeter脚本(Test Fragment片段脚本) Include Controller控件——添加外部jmet ...

  5. JSPs only permit GET POST or HEAD的解决方案(REST风格)

    问题:原文链接 https://blog.csdn.net/tiberroot/article/details/76615727 看到很多人解决办法使用 @ResponseBody注解 这个意思是按照 ...

  6. Codeforces Round #561 (Div. 2) B. All the Vowels Please

    链接:https://codeforces.com/contest/1166/problem/B 题意: Tom loves vowels, and he likes long words with ...

  7. springboot springmvc 抛出全局异常解决方法

    springboot中抛出异常,springboot自带的是springmvc框架,这个就不多说了. springmvc统一异常解决方法这里要说明的是.只是结合了springboot的使用而已.直接上 ...

  8. Class 类

    在javascript 中应用类的概念 // javascript web applications 富应用开发 // 类库:生成类的地方:给所有的构造函数提供基础方法,如 extend, inclu ...

  9. copyout函数

    copyout Kernel Service   Purpose Copies data between user and kernel memory. Syntax #include <sys ...

  10. EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)

    在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...