JS数组总结

一、与其他语言数据的比较

相同点:有序列表

不同点:js的数组的每一项可以保存任何类型的数据;数组的大小是可以动态调整的

二、数组创建的两种方法

1)  var colors = new Array();//创建一个空数组

var colors = new Array(3);//创建一个包含3项的数组

var colors = new Array("red","green","blue");//创建一个包含3个字符串的数组

2)var names = [];

var names = ["red","green","blue"];//names[2]

三、数组的length属性

1)  检测数组的项数

2)可设置

var names = ["red","green","blue"];

names.length = 4;

alert(names[3]);//undefined

#######################

names.length = 2;

alert(names[2]);//undefined

#######################

names[names.length]="black";

alert(names);//red,green,blue,black

#######################

names[99]="yellow";

alert(names.length);//100

四、数组方法

1) 检测数组方法

Array.isArray()

2)转换方法

toString():返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串;

valueOf():返回的还是数组,返回数值类型的对象类型

join():接受一个参数,已这个字符来连接数组成一个字符串

3)栈方法(LIFO)先进后出

push():接收任意数量的参数,逐个添加到数组的末尾,返回修改后数组的长度

pop():从数组末尾移除最后一项,返回移除的项

4)队列方法(FIFO)先进先出

(1)push():同上

shift(): 移除数组的第一项,并返回该项

(2)unshift():在数组前端添加任意个项,并返回新数组长度

pop():同上

5)重排序方法

reverse():反转数组项

sort():默认按升序排列,调用每个数组项的toString()方法,然后比较得到的字符串,sort()可以接收一个比较参数,返回的还是数组

6)操作方法

(1)   concat():先创建当前数组的一个副本,接收的参数是一个或多个数组,将这些数组的每一项都添加到结果数组中

var names = ["red","green","blue"];

var names1 = names.concat("brown",["black","dede"]);

(2)   slice():

var names = ["red","green","blue"];

var names1 = names.slice(1);//green,blue

var names2 = names.slice(1,2);//green,blue

删除:slice(0,2)

插入:slice(2,0,"red","frr");//从位置2开始插入

替换:slice(2,1,"red","frr")//删除位置2的项,然后再插入两项

7)位置方法(都是可以接收两个参数,要查找的项和(可选)表示查找起点位置的索引)

indexOf():从数组的开头向后查,返回要查找的项在数组中的位置

lastIndexOf():从数组的末尾向前查,返回要查找的项在数组中的位置

8)迭代方法

every():对数组的每一项运行给定函数,如果该函数对每一项给返回true,则返回true

filter():返回由给定函数过滤后的数组

forEach():只是对数组的每一项运行给定函数,没有返回值

map():对数组的每一项运行给定函数,返回函数运行结果组成的数组

some():对数组的每一项运行给定函数,如果该函数对某一项返回true,则返回true

9)归并方法

reduce():这里和python的list方法特别像,自己的理解,会根据每一项上调用的函数,迭代数组的每一项,然后返回一个最后的结果

reduceRight():同reduce,只是从数组的最后一项开始迭代

五:面试常考的数组的题型

时间: 2024-11-01 23:41:21

JS数组总结的相关文章

关于js数组的一道小考题

网上看到的一道关于js数组的小考题,借此学习练习一下,也是拿来作为博客开篇之作吧! 题目如下: 给定一个随机数组,数组可能包含数组(也就是说数组元素可能为数组).要求用js实现一个函数,返回该数组中所有元素,重复的要求去掉.例如:数组[2,3,[4,6,[3,8]],12,10],返回结果为:[2,3,4,6,8,12,10]. 我的答案如下:(额外增加了排序) 1 var arr = [2,3,[4,6,[3,8,[15,16,[17,18,[1,2,3,[19,20]]]]],[13,14]

js数组知识

js数组 shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined Javascript代码 var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 Javascript代码 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总

js数组的操作

转载 js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限

js数组小结

1.js数组使用sort()排序 var a = ["1","12","3","4","0"]; document.write(a.sort(function(a,b){ //实现升序排序 return a - b; })); 2.js使用数组实现一些数据结构 栈        push() , pop() 队列 shift() ,  push() 反向队列    unshift() , pop() 其中

js 数组,字符串,JSON,bind, Name

/** * Created by W.J.Chang on 2014/5/23. */ // 判读是否是数组的方法 console.log(Array.isArray(new Array)); console.log(Array.isArray([])); var arr = [1,2,3]; // 遍历方法 arr.forEach(function (v){ console.log(v); }); console.log("---------------------"); // 过滤

python数组与js数组(list)对比

本文和大家分享的是python数组与js数组相关内容,一起来看看吧,希望对大家学习python有所帮助. 创建 基本相同 js var person = ['xiaohong','wangwei','liudehua']; python person=['xiaohong','wangwei','liudehua'] 访问元素 基本相同 js person[0] //xiaohong python >>> person[0]'xiaohong' 切片 这块不一样,js用slice函数,p

js 数组去重(数组元素是对象的情况)

js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义.一般最后数组就只剩一个 2.如果是直接比较法,则因为对象在内存中是按引用访问的,属性值相同的对象也不会相等,简单的直接判断不再有意义.一般最后数组还是原样 所以就需要进行值的比较 当然了,也可以换着法来将相应对象转为字符串(不是默认的那种[object Obj

js数组操作

js数组操作大全(转) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试

js数组操作常用方法(转自:http://www.jbxue.com/article/js/20224.html)

js数组操作常用方法,包括数组的创建.数组的元素的访问.数组元素的删除.数组的拷贝等. 原文参考自:http://www.jbxue.com/article/js/20224.html 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽.记录下来.1.数组的创建 var arr

2017/5/8总结 js数组及json(对象数组)操作

1.request获取传值问题 for (int i = 0; i < context.Request.Form.Count; i++) { //for (int i = 0; i < context.Request.Form.Keys[i] ; ) string []txtArr=context.Request.Params.GetValues(context.Request.Form.Keys[i]); for (int j = 0; j<txtArr.Length;j++ ) sb