javascript数组操作,操作数组的方法 js
js数组几种常见的操作方法
关于js数组的用法有很多,下面主要针对一些简单的操作,比如合并,反转,添加删除等简单的操作总结一下。
目前创新互联建站已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、佛山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
关于js数组的用法有很多,下面主要针对一些简单的操作,比如合并,反转,添加删除等简单的操作总结一下。
第一:读取数组 for循环
方法如下:
var ay=[1,"sdsd","sdsd"]
for (var i=0;iay.length;i++) {
console.log("index:"+i+" "+ay[i]) //index:0 1 index:1 sdsd index:2 sdsd
}
第二:合并数组 concat
方法如下:
var arr1=['w','e','s'];
var arr2=['e','y','u'];
var arr3=arr1.concat(arr2);
console.log(arr3) //['w','e','s''e','y','u'];
第三:数组变为字符串格式 join
方法如下:
var arr1=['w','e','s'];
var arr4=arr1.join()
console.log(arr4) //w,e,s
第四:删除最后一个元素,针对老数组是删除最后一个,针对新数组是返回最后一个 pop
var arr6=["d","s","t"];
var arr7=arr6.pop();
console.log(arr6) // ["d","s"];
console.log(arr7);// t
第五:添加最后一个元素,针对老数组最后一个元素后面添加一个元素,新数组返回元素个数 push
var arr8=["i","u","t"];
var arr9=arr8.push("k");
console.log(arr8); //["i","u","t","k"];
console.log(arr9); // 4
第六:shift() 和pop()一样,不同的是操作的是开头删除的元素shift();具体操作不在展示
第七:unshiift()和push一样,不同的是操作的是开头添加的元素unshift();具体操作不再展示
第八:反转数组 reverse
方法如下:
var arr1=['w','e','s'];
var arr10=arr1.reverse()
console.log(arr10) //['s','e','w'];
第九:数组排序 sort a-b正向 b-a 反向
正向
var arr11=[3,1,5,8,28]
var arr12=arr11.sort(function (a,b) {
return a-b;
})
console.log(arr12) //[1,3,5,8,28];
反向
var arr13=arr11.sort(function (a,b) {
return b-a;
})
console.log(arr13) //[28,8,5,3,1]
第十:数组截取 数组截取的方法主要有slice 和splice,另外说到截取我这里随便也把字符串截取带上,字符串截取的方法主要有substr 和substring
(1)slice 使用方法arr.slice(m,n);其中arr为数组,m,n为两个参数,意思是从已有数组中返回选定的元素,截取位置均为下标,其中m必须,为起始位置,可以为负值,n为结束位置(截取位置并不包含)。
示例如下:
①只有起起始值,并且为正,默认的从起始位置一直到整个数组结束,起始下标从0开始
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(1)
console.log(arr) // [2,3,5,6,8,9] 老数组是没有变化的,下面不在列举,都是一样的
console.log(arr1) //[3,5,6,8,9] 只有起始参数,并且为正值,返回新数组从下标1开始截取
②只有起始值,并且为负,默认的是从起始位置一直到整个数组结束,此处没有起始值,数组的最后一个下标是-1,比如此例,如果从-6开始取,必定是整个数组
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1)
console.log(arr1) //[9] 只有起始参数,并且为负值,从数组尾部截取元素
③有起始值和结束值,并且为正,此处需注意下标是从小到大,比如你(3,1)肯定是取不到值的,另外截取的下标个数并不包含最后一个下标
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(1,4)
console.log(arr1) //[3,5,6] 此时是从下标1开始到下标4,但是需要注意的是并不包含下标4,准确的说是1-3的下标
④有起始值和结束值,并且为负,此处需注意下秒也是从小到大,同理,比如(-1,-6)也是肯定取不到值的,另外截取的下标个数也并不包含最后一个下标
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-6,-1)
console.log(arr1) //[2,3,5,6,8]
⑤有起始值和结束值,并且正负都有
负值到0
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1,0)
//刚刚都看到了,数组下标都是从小到大的,所以说如果正负都有的情况下,理论上应该可以取值的,比如这个例子,-1为9的小标,0为2的下标,所以取值应该为 [9],但是结果并不是这样的
console.log(arr1) //[ ] 从这里可以看出他的结果是为空的,所以从负值到0结果是取不到的
负值到正直
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1,2)
//那从负值到正值呢,同样也是取不到值的
console.log(arr1) //[ ]
正直到负值
var arr=[2,3,5,6,8,9]
var arr1=arr.slice(2,-1)
//那从正直到负值,这个理论上是取不到的,但是看下结果
console.log(arr1) //[ 5,6,8] 从结果可以看出是可以取的 原理是2的下标为5,-1的下标为9,不包含结束位置下标
总结:这个方法看着可能会麻烦些(也可能被我写的麻烦啦),比如正到负等,不知道大家都是怎么操作,我一般用这个取值都是只截取正的,所以这个实际操作还是非常简单的。
(2)splice 像数组中添加或者删除元素
arr.splice(m,n,index,index1,...,indexx)
m是起始位置,n是删除元素的个数,index是要添加的元素,在不添加元素的前提下,只有第一个参数是必须的,后面两个都不是必须的,在需要添加元素的情况下,三个元素都是必须的,此方法和slice是不一样的,这个返回的是被删除的元素
示例如下:
只删除不添加
注意看此例,是(1,2)删除两个,如果是(1,0),则表示删除零个,也就是不删除的意思,如果只有一个参数则表示从这里开始删除,比如是(1)则为[2],当然这个也是可以取负值,但是这个和slice是不一样的,只能起始位置取负值,因为删除的个数不可能为负值,slice可以取(2,-1),这个就截然不同啦,但是刚刚也说啦,slice是不可以起始位置取负值,结束位置取正的,但是这个是可以的,比如(-1,0)则表示从-1开始删除零个,结果为[2,3,5,6,8,9],(-6,2),结果为[5,6,8,9],另外这个删除的第二个值如果写的过大,也只是删除从本下标到最后一个,比如(2,78)为[2,3]
var arr=[2,3,5,6,8,9]
var arr1=arr.splice(1,2)
console.log(arr) // [2,6,8,9] 注意看此处才是我们要的数组,从下标1开始删除删除两个
console.log(arr1) //[3,5] 此处是我们删除掉的数组
删除加添加 具体的和上面的差不多,主要添加了添加元素的效果,这个也可以添加多个元素
var arr=[2,3,5,6,8,9]
var arr1=arr.splice(1,2,"il")
console.log(arr) //[2,"li",6,8,9]
console.log(arr1) //[3,5]
总结:此方法用的时候,一般也都是只取正值
(3)substr 这个是字符串的用法 用法arr.substr(m,n) m必选也可以负值 n选填,注意看这个并不是结束为止而是截取的个数
示例如下:
只有一个参数 默认从此下标开始,取后面所有的
正值
var arr="sdhgfhf"
var arr1=arr.substr(1)
console.log(arr)// "sdhgfhf"这个是不变的,下面不再列举
console.log(arr1)// "dhgfhf" 从下标1开始取后面所有的
负值
var arr="sdhgfhf"
var arr1=arr.substr(-2)
console.log(arr1)// "hf" 从下标-2开始取后面所有的
两个参数,从第一个下标开始,截取到下标2的长度
var arr="sdhgfhf"
var arr1=arr.substr(1,3)
console.log(arr1)// "dhg" 从下标1开始取后面所有的 同理如果为负值,比如(-6,3)则为"hjf";后面的始终为长度
总结:此方法需注意不要和数组的混淆,这个是截取长度的
(4)substring 用法arr.substring(m,n) 两个参数,m必须,起始位置 ,n选填,截取下标的结束位置,此用法和上面slice有点类似,但是需要注意的是此方法是不支持负值的
示例如下:
只有一个参数
var arr="sdhgfhf"
var arr1=arr.substring(1)
console.log(arr1)//"dhgfhf"从下标1开始取后面所有的
两个参数
var arr="sdhgfhf"
var arr1=arr.substring(1,3)
console.log(arr1)// "dh"从下标1开始截取到下标3,但是不包含3
总结:此方法不支持负值,只针对下标来截取的
最后,以上主要是总结的数组的一些简单的操作方法,学无止境,继续努力。
js数组操作(添加、删除、替换元素)
1、添加元素
函数:push(para),参数说明para要添加的元素
示例:
var lang = ["php","java","javascript"];
lang.push('.net');
结果:lang = ["php","java","javascript",".net"];
2、删除和替换元素
函数:splice(para1,para2,para3),参数说明para1其实位置(从0开始),para2要删除的元素个数,para3(可选)要替换的元素
示例:
a、删除
var lang = ["php","java","javascript"];
lang.splice(0,1);
结果:lang = ["java","javascript",".net"];
b、替换
var lang = ["php","java","javascript"];
lang.splice(0,1,'.net');
结果:lang = [".net","javascript",".net"];
js字符串和数组操作方法
(1).是个属性 不是个方法;
(2).返回 字符串的长度 如果字符串内有空格 则将空格也算在内;
(1)返回指定位置的字符;
(2)括号内的参数 写需要返回的内容的索引值;
(1)用于拼接两个或多个字符串;
(2)不改变原字符串 返回一个拼接完成的字符串的 副本;
(3)可以拼接数字 会把数字强制成字符串;
(4)也可以拼接数组 但是会将分隔符一起转化为字符串;
(1)从前往后搜索
(2)返回某个指定的字符串 值 在字符串中首次出现的位置
(3)如果没有搜索到 则返回-1
(1)从后往前搜索
(2)返回某个指定的字符串 值 在字符串中首次出现的位置
(2)如果没有搜索到 则返回-1
(1)在字符串中 用一些字符串替换另一些字符串
(2)两个参数:
(3)如果有多个值 被匹配上 从前往后只替换第一个值
(1)用于把一个字符串分割成 带有字符串的数组
(2)不写参数 会将整个字符串作为一个元素 存到数组里面 不改变原字符串 返回生成的数组
(3)如果只写一个 空元素(' ')则将字符串 每一个值都作为元素 存到数组里面 包括字符串里面的空格
(4)如果写了参数 在字符串两端 则将参数 转化成空元素
(5)反之 将参数 转译成分隔符
(6)如果是两个参数 第二个参数 代表 生成的数组的长度
(1)可在字符串中抽取以指定索引值开始的指定数目的字符
(2)只有一个参数的时候 从指定地方开始 一直到结束
(3)两个参数 从指定位置开始 截取指定长度
(1)提取字符串 指定开始位置 到指定结束位置 之间的字符
(2)只有一个参数的时候 从指定地方开始 一直到结束
(3)两个参数 从指定位置开始 到指定位置结束
(1)用来将字符串转为小写
(2)仅针对于英文字母
(1)用来将字符串转为大写
(2)仅针对英文字母
(1)向数组末尾添加元素,并返回新的长度
(2)直接修改原数组,而不是创建新数组
(3)可以往数组中添加数组,但是被添加的数组是作为元素存储在原数组中,而不是拼接
(1)向数组开头添加元素,并返回新的长度
(2)直接修改原数组,而不是创建新数组
(3)可以往数组中添加新数组,但是被添加的数组是作为元素存储在原数组中,而不是拼接
(1)删除并返回数组的最后一个元素,修改原数组
(2)将数组长度-1
(3)如果数组为空,pop()不改变原方法,返回underfined
将数组的第一个元素删除并返回值,修改原数组
(1)向数组中添加一个元素,或删除一个元素(返回删除元素)
(2)可以添加数组,但是被添加的数组以元素形式添加
(3)删除和添加可以同时进行
(1)用来连接两个或多个数组,该方法不会改变现有数组
(2)只会返回一个被连接数组的副本
(3)副本数组的拼接,是按顺序拼接,接受的数组在前面,往进添加的数组在后面,不是以元素形式存在,直接拼接
(1)分隔符可以是','空格,只作用与最外层数组元素
(2)用来把数组中所有的元素放入一个字符串,数组转化字符串方法
(3)不会改变原数组,会返回一个新的字符串,可用变量接收
(4)如果原数组是二维数组,会将里面作为元素的数组,也转化为字符串
返回截取新数组,start必写
分享标题:javascript数组操作,操作数组的方法 js
标题链接:http://pwwzsj.com/article/dsdseeh.html