数组对象操作方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组对象操作方法相关的知识,希望对你有一定的参考价值。

参考技术A 数组对象的操作方法:

1、添加:push()方法在数组末尾增加一个或多个元素,返回新长度;push()操作会改变原来的数组 eg: var a = [];a.push(“zero”);//a = [“zero” ,”one”,”two”]

2、删除:pop()用于删除并返回数组的最后一个元素。pop()操作会改变原来的数组。eg: var arr = [1,2,3]; document.wite(arr.pop())// 输出显示 3  实际arr=[1,2];

3、join()方法将数组中所有元素都转化为字符串并且连接在一起,join()操作不会改变原来的数组  eg:var arr = [1,2,3]; document.write(a.join("\"));//1\2\3

4、逆序:reverse()将数组中元素的顺序颠倒,返回逆序的数组。reverse()操作会改变原来的数组 eg:var a = [1,2,3];a.reverse(); //a=[3,2,1];

5、排序:sort()不带参数调用sort(),将按字母表进行排序  想让其按我们的方式排序,则需要传入比较函数,

6、合并:concat() concat() 方法合并两个数组,并返回合并后的新数组。eg:var a=[1,2,3],b=[4,5,6];document.write(a.concat(b))

//1,2,3,4,5,6

7、片段显示:slice()slice()方法返回指定数组的一个片段或子数组

var a = [1,2,3,4,5]; a.slice(0,3);        ==>[1,2,3]

a.slice(3);            ==>[4,5]

a.slice(1,-1);        ==>[2,3,4]  参数-1指定为最后一个元素

a.slice(-3,-2);      ==>[3]

8、插入、删除或替换:splice() 方法用于插入、删除或替换数组的元素。并返回删除的部分数组

var a = [1,2,3,4,5,6,7,8]

a.splice(4);  ==>返回[5,6,7,8]  数组a变为[1,2,3,4]

a.splice(1,2);  ==>返回[2,3]  a是[1,4,5,6,7,8]

a.splice(2,0,'a','b');  返回[], a是[1,2,'a','b',3,4,5,6,7,8]向数组中添加元素:

a.splice(2,2,33,3); a是[1,2,33,3,5,6,7,8]

9、unshift()和shift()是在数组的头部而非尾部进行元素的插入和删除操作。unshift()最后返回数组新的长度shift()删除数组的第一个元素并将其返回。

var a=[1,2,3];

a.unshift(9);//a=[9,1,2,3];

a.shift()//a=[2,3]

10、删除元素:delete

var arr2 = [1,2,3,4,5];

delete arr2[3];//删除arr2数组的第四个位置的元素;但是此位置依然保留,只是内容被删除,在alert(arr2[3]);返回undefined

11.  遍历数组    1、 for()  2、for in

var a = [];//声明一个数组

a[0] = "泰国";//给数组赋值,第一个值是泰国

a[1] = "韩国";//给数组赋值,第一个值是韩国//利用for循环遍历

for(var i =0;i<2;i++)

alert("我去过"+a[i]);

//利用for in 循环遍历

for(country in a)

alert("我去过"+a[country]);

Jquery 数组操作

Jquery 数组常用操作

参考博客:http://www.jb51.net/article/43164.htm

1. $.each(array, [callback]) 遍历[常用]

解释:

不同于遍历JQuery 对象的 $().each() 方法,此方法可用于遍例任何对象(不仅仅是数组).

回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容.

如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略.

each遍历,在平常的事件处理中,是for循环的变体,但比for循环强大.在数组中,它可以轻松的攻取数组索引及对应的值.例:

var _mozi=[墨家,墨子,墨翟,兼爱非攻,尚同尚贤]; //本文所用到的数组, 下同
$.each(_mozi,function(key,val){
//回调函数有两个参数,第一个是元素索引,第二个为当前值
alert(_mozi数组中 ,索引 : +key+ 对应的值为: +val);
}); 

相对于原生的for..in,each更强壮一点. for..in也可以遍历数组,并返回对应索引,但值是需要通过arrName[key]来获取

2. $.grep(array, callback, [invert]) 过滤数组[常用]

解释: 使用过滤函数过滤数组元素.此函数至少传递两个参数(第三个参数为true或false,对过滤函数返回值取反): 待过滤数组和过滤函数. 过滤函数必须返回 true 以保留元素或 false 以删除元素. 另外,过滤函数还可以是可设置为一个字符串;

var arr = [1, 2, 3, 4, 5];
var removeItem = 2;  
arr = $.grep(arr, function(value) {
 return value != removeItem;
});

3 .$.inArray(val,array)判断值是否存在于数组中[常用]

解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 
indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1.可用它判断某个值是否存在于数组中

var _exist=$.inArray(墨子,_mozi);
var _inexistence=$.inArray(卫鞅,_mozi)
if(_exist>=0){
alert(墨子 存在于数组_mozi中,其在数组中索引值是: +_exist);
}
if(_inexistence<0){
alert(卫鞅 不存在于数组_mozi中!,返回值为: +_inexistence+!);
} 

 

 

未完待绪。。。




以上是关于数组对象操作方法的主要内容,如果未能解决你的问题,请参考以下文章

Numpy数组对象的操作-索引机制切片和迭代方法

C#数组之操作方法

原生Javascript(数组操作方法总结)-更新

如何判断一个对象是不是是数组

JavaScript数组(对象)方法

js数组对象常用的方法