JS中数组Array的用法
- 格式:docx
- 大小:15.44 KB
- 文档页数:4
JS中的数组与集合(方法)和函数JavaScript中的数组、集合和函数是非常重要的概念,它们在编程中经常被使用。
本文将详细介绍这些概念,并解释它们的用途和常见的应用。
数组(Array)是一种有序的数据结构,可以存储多个值。
在JavaScript中,可以使用数组来存储不同类型的数据,包括数字、字符串、对象等。
数组的长度可以动态地改变,可以通过索引访问和修改数组中的元素。
以下是一些常见的数组操作方法:1. push(:向数组末尾添加一个或多个元素。
2. pop(:删除并返回数组的最后一个元素。
3. shift(:删除并返回数组的第一个元素。
4. unshift(:向数组的开头添加一个或多个元素。
5. splice(:从数组中删除元素,并可以在指定位置插入新元素。
6. slice(:返回数组的一部分,不会修改原始数组。
7. concat(:连接两个或多个数组,并返回一个新数组。
8. reverse(:反转数组中的元素的顺序。
9. sort(:对数组元素进行排序。
集合(Set)是一种无序、唯一的数据结构,可以存储任何类型的值,不会重复。
在JavaScript中,集合是通过Set对象来实现的。
以下是一些常见的集合操作方法:1. add(:向集合中添加一个元素。
2. delete(:从集合中删除一个元素。
3. has(:判断集合中是否包含指定元素。
4. clear(:清空集合中的所有元素。
5. size(:返回集合中元素的个数。
6. values(:返回一个包含集合中所有元素的数组。
7. forEach(:遍历集合中的所有元素。
函数(Function)是一段可重复使用的代码块,可以接收参数并返回值。
在JavaScript中,函数是一等公民,可以作为变量、参数和返回值使用。
以下是一些常见的函数操作方法:1. 定义函数:使用function关键字定义一个函数,并指定函数名和参数。
2.调用函数:通过函数名和参数列表来调用函数,并获取返回值。
js数组的基本操作(很全⾃⼰整理的)⽤ js有很久了,但都没有深究过js的数组形式。
偶尔⽤⽤也就是简单的string.split(char)。
这段时间做的⼀个项⽬,⽤到数组的地⽅很多,⾃以为js⾼⼿的⾃⼰居然⽆从下⼿,⼀下狠⼼,我学!呵呵。
学了之后才知道,js数组的功能强⼤很,远⽐VB,C#强多了,⼤家慢慢看吧1、数组的创建var arrayObj = new Array(); //创建⼀个数组var arrayObj = new Array([size]); //创建⼀个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建⼀个数组并赋值要说明的是,虽然第⼆种⽅法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
2、数组的元素的访问var testGetArrValue=arrayObj[1]; //获取数组的元素值arrayObj[1]= "这是新值"; //给数组元素赋予新的值3、数组元素的添加代码arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将⼀个或多个新元素添加到数组结尾,并返回数组新长度arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将⼀个或多个新元素添加到数组开始,数组中的元素⾃动后移,返回数组新长度arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将⼀个或多个新元素插⼊到数组的指定位置,插⼊位置的元素⾃动后移,返回""。
4、数组元素的删除arrayObj.pop(); //移除最后⼀个元素并返回该元素值arrayObj.shift(); //移除最前⼀个元素并返回该元素值,数组中元素⾃动前移arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素5、数组的截取和合并arrayObj.slice(start, [end]); //以数组的形式返回数组的⼀部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为⼀个数组,返回连接好的新的数组6、数组的拷贝arrayObj.slice(0); //返回数组的拷贝数组,注意是⼀个新的数组,不是指向arrayObj.concat(); //返回数组的拷贝数组,注意是⼀个新的数组,不是指向7、数组元素的排序arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址arrayObj.sort(); //对数组元素排序,返回数组地址8、数组元素的字符串化arrayObj.join(separator); //返回字符串,这个字符串将数组的每⼀个元素值连接在⼀起,中间⽤ separator 隔开。
js数组⽅法详解(最新最全)数组是js中最常⽤到的数据集合,其内置的⽅法有很多,熟练掌握这些⽅法,可以有效的提⾼我们的⼯作效率,同时对我们的代码质量也是有很⼤影响。
本⽂所有的栗⼦都是在es7环境下测试的,如果有问题欢迎留⾔交流创建数组我将创建数组的⽅式分为以下四⼤类⼀、字⾯量⽅式使⽤对象字⾯量⽅式创建数组是我们最常⽤的⼀种⽅式const array1 = [1, 2, 3, 4, 5];⼆、使⽤Array构造⽅法⽆参构造使⽤⽆参构造可以创建⼀个长度为0的空数组const array1 = new Array();带参构造1. 如果只传⼀个数值参数,则表⽰创建⼀个初始长度为指定数值的空数组const array2 = new Array(3);2. 如果传⼊⼀个⾮数值的参数或者参数个数⼤于1,则表⽰创建⼀个包含指定元素的数组const array3 = new Array(1, 2, 3, 'array'); // [1, 2, 3, "array"]const array4 = new Array('23'); // ["23"]三、Array.of⽅法创建数组(es6新增)ES6为数组新增创建⽅法的⽬的之⼀,是帮助开发者在使⽤Array构造器时避开js语⾔的⼀个怪异点。
Array.of()⽅法总会创建⼀个包含所有传⼊参数的数组,⽽不管参数的数量与类型。
let arr = Array.of(1, 2);console.log(arr.length);//2let arr1 = Array.of(3);console.log(arr1.length);//1console.log(arr1[0]);//3let arr2 = Array.of('2');console.log(arr2.length);//1console.log(arr2[0]);//'2'在使⽤Array.of()⽅法创建数组时,只需将想要包含在数组内的值作为参数传⼊。
Js数组的操作pushpopshiftunshift等方法详细介绍JavaScript中的数组是一种用来存储多个值的数据结构。
数组拥有许多常用的方法,包括push、pop、shift、unshift等。
下面将详细介绍这些方法以及它们的用法和功能。
1. push方法push方法用于给数组末尾添加一个或多个元素,并返回新数组的长度。
语法如下:```array.push(element1, element2, ..., elementN)```示例:```var fruits = ["apple", "banana"];var length = fruits.push("orange");console.log(fruits); // ["apple", "banana", "orange"]console.log(length); // 3```2. pop方法pop方法用于删除数组的最后一个元素,并返回删除的元素。
语法如下:```array.pop```示例:```var fruits = ["apple", "banana", "orange"];var lastElement = fruits.pop(;console.log(fruits); // ["apple", "banana"]console.log(lastElement); // "orange"```3. shift方法shift方法用于删除数组的第一个元素,并返回删除的元素。
语法如下:```array.shift```示例:```var fruits = ["apple", "banana", "orange"];var firstElement = fruits.shift(;console.log(fruits); // ["banana", "orange"]console.log(firstElement); // "apple"```4. unshift方法unshift方法用于给数组的开头添加一个或多个元素,并返回新数组的长度。
js中Array对象的常⽤遍历⽅法详解1.forEach(),遍历数组的每个元素let arrFor = ['muzi','digbig','muzidigbig','lucky']//forEach(),遍历数组的每个元素arrFor.forEach((item,index) => {console.log(`${index}---${item}`)})2.map(参数为回调函数)函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新数组,原数组不变;let arr = [{id:1,name:'muzi'},{id:2,name:'digbig'},{id:3,name:'muzidigbig'},{id:4,name:'lucky'}]const arrMap = arr.map((item,index) => {return {id:item.id,name:,sex:'男'}})console.log(arrMap)3.filter(参数为回调函数)函数:过滤通过条件的元素组成⼀个新数组,原数组不变;let arr = [{id:1,name:'muzi'},{id:2,name:'digbig'},{id:3,name:'muzidigbig'},{id:4,name:'lucky'}]const arrFilter = arr.filter((item,index) => {return item.id >= 2;})console.log(arrFilter)4.some(参数为回调函数)函数,遍历数组中是否有符合条件的函数,返回布尔值;let arr = [{id:1,name:'muzi'},{id:2,name:'digbig'},{id:3,name:'muzidigbig'},{id:4,name:'lucky'}]const arrSome = arr.some((item,index) => {return item.id === 5})console.log(arrSome)5.every(参数为回调函数)函数,遍历数组是否每个元素都符合条件,返回布尔值;let arr = [{id:1,name:'muzi'},{id:2,name:'digbig'},{id:3,name:'muzidigbig'},{id:4,name:'lucky'}]const arrEvery = arr.every((item,index) => {return item.id >= 1})console.log(arrEvery)6.find()函数,数组中的每个元素都执⾏这个回调函数;返回第⼀个满⾜条件的元素之后的元素就不在调⽤;没有符合的返回undefined;并没有改变数组的原始值。
js数组Array(list)添加、删除unshift:将参数添加到原数组开头,并返回数组的长度pop:删除原数组最后⼀项,并返回删除元素的值;如果数组为空则返回undefinedpush:将参数添加到原数组末尾,并返回数组的长度concat:返回⼀个新数组,是将参数添加到原数组中构成的splice(start,deleteCount,val1,val2,…):从start位置开始删除deleteCount项,并从该位置起插⼊val1,val2,…reverse:将数组反序sort(orderfunction):按指定的参数对数组进⾏排序slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组详细:1、数组的创建var arrayObj = new Array(); //创建⼀个数组var arrayObj = new Array([size]); //创建⼀个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, …[, elementN]]]]); 创建⼀个数组并赋值要说明的是,虽然第⼆种⽅法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
2、数组的元素的访问var testGetArrValue=arrayObj[1]; //获取数组的元素值arrayObj[1]= “这是新值”; //给数组元素赋予新的值3、数组元素的添加arrayObj. push([item1 [item2 [… [itemN ]]]]);// 将⼀个或多个新元素添加到数组结尾,并返回数组新长度arrayObj.unshift([item1 [item2 [… [itemN ]]]]);// 将⼀个或多个新元素添加到数组开始,数组中的元素⾃动后移,返回数组新长度arrayObj.splice(insertPos,0,[item1[, item2[, … [,itemN]]]]);//将⼀个或多个新元素插⼊到数组的指定位置,插⼊位置的元素⾃动后移,返回”“。
JavaScript之数组(Array)详解篇一:Javascript数组及其操作Javascript数组及其操作1.如何创建数组2.如何对数组进行操作(添加,删除,读取)3.数组常见方法和属性如何创建一个数组,一般地根据初始化设定简单分为3种:1.单纯创建数组:var arr=new Array();要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用2.创建数组的同时规定数组大小:var arr=new Array(10);//这里就创建了一个初始化大小为10的数组注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为42949672953.直接初始化:var arr=new Array("love","hate","pain");//这里就直接初始化了数组或var arr=["happy","cute","scare"];//括号也可以声明一个数组对象当然,类似C语言,可以定义2维3维和多维的数组,例如:var myArray = new Array();for(var i=0;i myArray[i]=new Array();myArray[i][0]=Math.floor(Math.random()*10);myArray[i][1]=Math.floor(Math.random()*10);myArray[i][2]=Math.floor(Math.random()*10);myArray[i][3]=Math.floor(Math.random()*10);myArray[i][4]=Math.floor(Math.random()*10);myArray[i][5]=Math.floor(Math.random()*10);myArray[i][6]=Math.floor(Math.random()*10);myArray[i][7]=Math.floor(Math.random()*10);myArray[i][8]=Math.floor(Math.random()*10);}myArray.sort( function(x, y) ...{return(x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])});for(var i=0;i document.write(myArray[i].join(",") + "");}数组的属性:lengtharr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:for(var i=0;i 执行部分}数组元素的访问: arr[index],其中index表示索引即数组基数,从0开始,共有arr.length个元素.比如: arr[0]访问第一个数组元素,arr[1]访问第二个数组元素....依次类推数组的操作方法:先概览下下面的这些操作数组常用的方法(13个)toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(), pop(),push(),shift(),unshift(),sort(),splice()下面逐一分析这些方法的功能和用法.toString(),valueOf(),toLocalString():功能:返回数组的全部元素注:数组名也可以返回整个数组代码:var m=["am","bm","cm"];//用括号声明一个数组对象alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cmalert(m.valueOf());//valueOf()也返回数组对象的所有内容alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究alert(m);//数组名也返回数组对象的所有内容join():功能:把数组各个项用某个字符(串)连接起来,但并不修改原来的数组代码:var m=["am","bm","cm"];//用括号声明一个数组对象var n=m.join("---");//用---连接am,bm,cm.alert(m.toString());//m并没有被修改,返回am,bm,cmalert(n);//n是一个字符串,为am---bm---cmsplit():功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串代码:var str="I love maomao,I am caolvchong";var arr=str.split("o");//按字符o把str字符串分割成一个数组alert(arr);//输出整个数组slice():返回某个位置开始(到某个位置结束)的数组部分,不修改原数组代码:var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fmvar q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,emalert(n);alert(q);数组对象的栈操作:push():数组末尾添加一个项pop():删除数组最后一个项代码:var m=["am","bm","cm","dm","em","fm"];m.push("gm");//在数组末尾添加元素gmalert(m);m.pop();//删除数组最后一个元素gmalert(m);数组对象的队列操作:unshift():数组头添加一个项shift():删除数组第一个项代码:var m=["am","bm","cm","dm","em","fm"];m.unshift("gm");//在数组第一个元素位置添加元素gmalert(m);m.shift();//删除数组第一个元素gmalert(m);sort():数组按字符的ASCII码进行排序,修改数组对象注:即便是数字数组,也将转化为字符串来进行比较排序代码:m.sort();//按字母序排序alert(m);concat():在数组尾添加元素,但不修改数组对象代码:var m=["am","bm"]var n=m.concat("cm");//添加一项cm,并且赋予新数组对象alert(m);//原数组没有被修改alert(n);//输出新数组对象splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象细节:splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的进行添加:splice(起始项,0,添加项)进行删除:splice(起始项,要删除的项个数)进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果代码:var m=["am","bm"]m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bmalert(m);m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)alert(m);m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)alert(m);JavaScript数组操作函数join(delimiter): 把数组中各个元素使用分隔符(delimiter)拼成字符串concat(array1, array2, ...): 合并数组,对原数组不影响,只是返回合并后的新数组pop(): 删除并返回最后一个元素push(element1, element2, ...): 在数组末尾追加元素shift(): 删除并返回第一个元素unshift(element1, element2, ...): 在数组开始位置添加元素reverse(): 将数组元素顺序首尾反转sort(function): 给数组排序如果不给参数,默认按字符排序(所有元素是数字也不会按数字排序的) 参数必须是一个函数,类似function(a, b) {},在函数中判断a, b的大小,a>b返回正数,a slice(start, end): 返回一个新的数组,将start 开始,到end结束(不包括end)之间的元素复制到新数组中splice(start, count, replaceElement1, replaceElement2, ...): 删除或者替换数组元素,从start开始,对count个元素进行删除或替换如果提供replaceElement参数则进行替换,否则进行删除操作,被替换的元素个数和replaceElements的个数不必相等返回一个数组,包含被删除或替换掉的元素判断是否数组的方法var arrayVar = ["aaa", "bbb", "ccc"];var nonArrayVar = { length:4, otherAttribute:"attr" };document.write(arrayVar.constructor==Array);document.write("");document.write(nonArrayVar.constructor==Array);结果是true, falsegrep、mapPerl语言带出来的东西,jQuery实现selector时用了这种方式grep对数组的grep操作,指类似这样的代码:Array newArray = grep(condition, oldArray),这个操作将对oldArray 数组的每个元素进行遍历,如果当前处理元素符合条件condition,则加入到返回数组中 jQuery中的grep类似这样: function( elems, callback),elems是DOM元素集合,callback是实现selector的一些表达式函数,如果callback返回true则表明当前处理的元素符合selector表达式篇二:javaScript基础之——数组javaScript基础之——数组目录创建数组的方法 .................................................................. .. (3)数组的内置方法 .................................................................. .. (3)数组首尾位置的数据项添加及删除方法 (3)array.push( value,… ) --- 向数组的尾部添加值 (4)array.unshift( value,… ) --- 在数组头部插入一个元素 (4)array.pop( ) --- 删除并返回数组的最后一个元素 (5)array.shift( ) --- 将元素移出数组 (6)重排序方法 .................................................................. .. (6)array.reverse() --- 颠倒数组中元素的顺序 (7)array.sort( fn ) ---对数组元素进行排序 (7)数组的固定位置的增删改方法 .................................................................. (8)array.splice(start,deleteCount,value,...) --- 插入、删除或替换数组的元素 . (8)可以复制数组的方法 .................................................................. . (8)array.slice(start,end) --- 返回数组的一部分 (9)array.concat(value,…) --- 连接数组 (9)将数组转化为字符串的方法 .................................................................. . (10)array.join(separator) ---将数组元素连接起来以构建一个字符串 (10)array.toString() ---将数组转换成一个字符串 (11)array.toLocaleString() ---把数组转换成局部字符串 (11)数组的属性:length............................................................... (12)ECMAScript 5 添加的数组方法................................................................... (12)位置方法 .................................................................. (12)迭代方法 --- 不修改原数组 .................................................................. .. (13)归并方法 --- 迭代数组所有项,然后构建一个最终返回的值 (13)数组是复合数据类型(对象类型)的数据,它的数据索引为数字,从0开始,逐一递增,有个length属性,代表数组项的总数。
js array 用法JavaScript数组是一种用于存储和管理多个数据项的数据结构。
数组是一种有序的集合,其中每个元素都可以通过索引访问。
在JavaScript中,数组是一种非常常用的数据类型,它提供了许多强大的功能和方法,使我们能够轻松地操作和处理数据。
第一步:创建一个数组在JavaScript中,我们可以通过以下方式来创建一个数组:let myArray = []; 创建一个空数组let myArray2 = [1, 2, 3]; 创建一个包含三个元素的数组let myArray3 = new Array(); 使用Array构造函数创建一个空数组let myArray4 = new Array(1, 2, 3); 使用Array构造函数创建一个包含三个元素的数组这些示例代码展示了四种创建数组的方法。
在创建数组时,我们可以直接指定数组的元素,也可以创建一个空数组后进行后续操作。
第二步:访问数组元素为了访问数组中的元素,我们可以使用索引。
在JavaScript中,数组的索引从0开始,依次递增,因此第一个元素的索引为0,第二个元素的索引为1,以此类推。
下面是一些示例代码:let myArray = [1, 2, 3, 4, 5];console.log(myArray[0]); 输出第一个元素,即1console.log(myArray[2]); 输出第三个元素,即3console.log(myArray[myArray.length - 1]); 输出最后一个元素,即5这些示例代码展示了如何通过索引来访问数组中的元素。
使用方括号加上索引可以获取特定位置的元素,也可以将新的值赋给该位置的元素。
第三步:修改数组元素一旦我们获得了数组中的元素,我们就可以对它们进行修改。
JavaScript 允许我们通过索引来修改数组中的元素。
下面是一个示例代码:let myArray = [1, 2, 3, 4, 5];myArray[1] = 10; 将第二个元素修改为10console.log(myArray); 输出[1, 10, 3, 4, 5]这个示例代码将数组myArray的第二个元素从2修改为10。
js中数组常⽤⽅法总结操作数组操作数组,印象中操作数组的⽅法很多,下⾯总结了⼀下数组中常⽤的⼏个⽅法:JavaScript中创建数组有两种⽅式(⼀)使⽤ Array 构造函数:var arr1 = new Array(); //创建⼀个空数组var arr2 = new Array(20); // 创建⼀个包含20项的数组var arr3 = new Array("lily","lucy","Tom"); // 创建⼀个包含3个字符串的数组(⼆)使⽤数组字⾯量表⽰法:var arr4 = []; //创建⼀个空数组var arr5 = [20]; // 创建⼀个包含1项的数组var arr6 = ["lily","lucy","Tom"]; // 创建⼀个包含3个字符串的数组数组的⽅法有数组原型⽅法,也有从object对象继承来的⽅法,这⾥我们只介绍数组的原型⽅法,数组原型⽅法主要有以下这些:join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf() (ES5新增)forEach() (ES5新增)map() (ES5新增)filter() (ES5新增)every() (ES5新增)some() (ES5新增)reduce()和 reduceRight() (ES5新增)下⾯详细介绍⼀下各个⽅法的基本功能。
1、join()join(separator): 将数组的元素组起⼀个字符串,以separator为分隔符,省略的话则⽤默认⽤逗号为分隔符,该⽅法只接收⼀个参数:即分隔符。
1 2 3 4var arr = [1,2,3];console.log(arr.join()); // 1,2,3 console.log(arr.join("-")); // 1-2-3 console.log(arr); // [1, 2, 3](原数组不变)通过join()⽅法可以实现重复字符串,只需传⼊字符串以及重复的次数,就能返回重复后的字符串,函数如下:1 2 3 4 5function repeatString(str, n) {return new Array(n + 1).join(str);}console.log(repeatString("abc", 3)); // abcabcabc console.log(repeatString("Hi", 5)); // HiHiHiHiHi2、push()和pop()push(): 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
js数组创建方式1.引言1.1 概述在JavaScript中,数组是一种非常重要的数据结构,用于存储和组织多个数据项。
它可以存储不同类型的数据,如数字、字符串、对象等,并可以根据需要动态调整大小。
数组的创建方式有多种,其中两种常用的方式是直接赋值和使用数组构造函数。
通过直接赋值的方式,我们可以在代码中直接定义一个数组,并将元素逐个赋值到数组中。
这种方式最简单直接,适用于已知元素的情况。
例如,如果我们想创建一个包含1到10这些数字的数组,我们可以这样写:var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];另一种创建数组的方式是使用数组构造函数Array()。
通过传入参数,我们可以指定数组的长度或初始元素。
例如,我们可以创建一个长度为5的数组,并将其所有元素初始化为0,如下所示:var arr = new Array(5); 创建长度为5的空数组arr.fill(0); 将数组中的所有元素都设置为0通过上述两种创建方式,我们可以灵活地创建数组,并根据具体需求初始化数组中的元素。
在接下来的文章中,我们将详细介绍这两种方式的使用方法及其应用场景。
同时,我们还将探讨一些常见的数组操作和技巧,帮助读者更好地理解和使用JavaScript数组。
1.2文章结构1.2 文章结构在撰写本文时,我们将按照以下顺序介绍JavaScript 中创建数组的两种常用方式:直接赋值方式和Array 构造函数方式。
通过对这两种创建方式的详细解释和比较,读者将能够更好地理解和运用数组在JavaScript 中的创建与使用。
在第2节的正文部分,我们将首先介绍直接赋值方式。
这种方式是最简单和直接的创建数组的方法,我们将会详细讨论它的用法和特点。
然后,我们将转向第3节,深入讲解Array 构造函数方式。
这种方式相对来说稍微复杂一些,但它提供了更多的灵活性和功能,我们将详细介绍其使用方法和注意事项。
在第4节的结论部分,我们将对两种创建方式进行总结,并比较它们的优缺点。
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^
var arr = new Array();
arr[0] = "aaa";
arr[1] = "bbb";
arr[2] = "ccc";
//alert(arr.length);//3
arr.pop();
//alert(arr.length);//2
//alert(arr[arr.length-1]);//bbb
arr.pop();
//alert(arr[arr.length-1]);//aaa
//alert(arr.length);//1
var arr2 = new Array();
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
//alert(arr2.length);//2
arr2.pop();
//alert(arr2.length);//1
arr2 = arr2.slice(0,arr2.length-1);
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2[2] = "ccc";
arr2 = arr2.slice(0,1);
alert(arr2.length);//1
alert(arr2[0]);//aaa
alert(arr2[1]);//undefined
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下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5//不用返回的话直接调用就可以了
push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
在清空数组时,只需传递startIndex。
如果不删除所有元素,再传递deleteCount参数。
splice还具有先删除后添加的功能,即先删除几个元素,然后在删除的位置再添加若干元素,删除与添加的元素的个数没有必须相等,这时侯deleteCount也是要用到的。
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); //同shift
a.splice(0,0,-2,-1); var b = a.length;//同unshift
var b = a.splice(a.length-1,1);//同pop
a.splice(a.length,0,6,7); var b = a.length; //同push
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
再给个利用数组模拟javaStringBuffer处理字符串的方法:
/**
*字符串处理函数
*/
function StringBuffer() {
var arr = new Array;
this.append = function(str) {
arr[arr.length] = str;
};
this.toString = function() {
return arr.join("");//把append进来的数组ping成一个字符串
};
}
今天在应用中突然发现join是一种把数组转换成字符串的好方法,故封装成对象使用了:
/**
*把数组转换成特定符号分割的字符串
*/
function arrayToString(arr,separator) {
if(!separator) separator = "";//separator为null则默认为空
return arr.join(separator);
}
/**
*查找数组包含的字符串
*/
function arrayFindString(arr,string) {
var str = arr.join("");
return str.indexOf(string);
}
文章来自:/luoting2762/blog/item/1c60b67306fb13098701b0b7.html。