本文总结了Javascript数组的常用操作技术,供大家参考:

前言

相信你是用数组的使用相关的操作,如美元。ISArray _。一些,_。找到,等等,在jQuery库或下划线。这里无非是几包操纵本地JS数组。

这是Javascript数组操作常见api的主要总结,相信对解决程序问题很有帮助。

一、自然

Javascript中的数组是一个特殊的对象,用于表示对象的属性的偏移量索引,索引可能是整数。但是,这些数字索引在内部转换成字符串类型,因为Javascript对象中的属性名必须是字符串。

两。操作

1判断数组类型

复制代码如下:var array0 = {}; / /文字

VaR array1 =新(阵列); / /构造函数

注:在IE6 / 7 / 8 / / array.isarray方法不受支持

警报(Array.isArray(array0));

可以考虑兼容性

警报(2是数组);

或

警报(object.prototype.tostring.call(2)={ }对象数组);

2数组和字符串

很简单:使用连接将数组转换成字符串,使用字符串转换为数组,使用拆分。

将代码复制如下:将数组添加到字符串中,使用连接

console.log({你好',‘'}。加入()); / /你好,世界

拆分-通过转换为字符串数组,使用拆分

console.log('Hello World'。分裂()); / / 你好 {

3查找元素

据认为,string类型指标是常用的,但很难知道数组的索引也可以用来查找元素。

复制代码如下: / /返回找到的元素

console.log({ ABC,'bcd ','cde}。indexOf('bcd ')); / / 1



无功objinarray = {

{

名称:国王的,

通过'123

},

{

名称:'king1,

通过'234

}

};

console.log(objinarray.indexof({)

名称:国王的,

通过'123

});1

无功elementofarray = objinarray { 0 };

console.log(objinarray.indexof(elementofarray)); / / 0

从上面,我们可以看到,数组包含的对象、IndexOf方法不是通过获得相应的搜索结果比较深,它只是一个比较相应的元素。

4阵列连接

与连接,要知道一个新数组将连接使用后产生的。

复制代码如下:var array1 = { 1, 2, 3 };

VaR array2 = { 4, 5, 6 };

VaR array3 = array1.concat(array2); / /阵列连接实现后,将创建一个新数组

console.log(array3);

5类列表操作

添加元素,你可以使用推位置分别和删除元素使用POP和位移分别。

复制代码如下: / / / /移推流行/位置

var数组{ 2, 3, 4,5 };

添加到数组的结尾

Array.push(6);

console.log(阵列); / / { 2, 3, 4,5, 6 }

添加到数组头

Array.unshift(1);

console.log(阵列); / / { 1, 2, 3,4, 5, 6 }

删除最后一个元素

无功elementofpop = array.pop();

console.log(elementofpop); / / 6

console.log(阵列); / / { 1, 2, 3,4, 5 }

删除第一个元素

无功elementofshift = array.shift();

console.log(elementofshift); / / 1

Console.log (array); / / {2, 3, 4, 5}

6拼接方法

主要两种用途:

从数组中间添加和删除元素

从原始数组获取一个新数组

当然,这两种用法是合成的,其中一些侧重于使用一种,而另一些则侧重于使用两种。

在数组中间添加和删除元素,拼接方法将元素添加到数组中,提供以下参数

第一个索引(在开始添加元素的地方)

需要删除的元素的数量或提取的元素的数量(在添加元素时将参数设置为0)

要添加到数组中的元素。

复制代码如下:var号= { 1, 2, 3,7, 8, 9 };

nums.splice(3, 0, 4,5, 6);

console.log(名词); / / { 1, 2, 3,4, 5, 6,7, 8, 9 }

然后,删除操作或获取一个新数组。

无功newnums = nums.splice(3, 4);

console.log(名词); / / { 1, 2, 3,8, 9 }

console.log(newnums); / / { 4, 5, 6,7 }

7类

本文主要介绍了反向和排序两种方法,数组反转采用反向排序,排序方法既可用于简单排序,也可用于复杂排序。

将代码复制如下:

var数组{ 1, 2, 3,4, 5 };

Array.reverse();

console.log(阵列); / / { 5, 4, 3,2, 1 }

我们首先对字符串元素数组进行排序。

无功arrayofnames = {戴维

ArrayOfNames.sort();

console.log(arrayofnames); / / {布莱恩

我们对数字元素数组进行排序。

将代码复制如下:如果数组数字类型、排序()方法的元素对排序结果进行排序,则不能令人满意。

VaR号= { 3, 1, 2,100, 4, 200 };

Nums.sort();

console.log(名词); / / { 1, 100, 2,200, 3, 4 }

The sort method is to sort elements in lexicographic order, so it assumes that all elements are string types. 因此,即使元素是数字类型,也被认为是字符串类型。此时调用方法时可以引入大小比较函数。排序时,排序()方法将根据函数比较数组中两个元素的大小,从而确定整个数组的顺序。

复制代码代码如下:var比较功能(num1,num2){

返回num1 > num2;

};

Nums.sort(比较);

console.log(名词); / / { 1, 2, 3,4, 100, 200 }

无功objinarray = {

{

名称:国王的,

通过'123,

指数:2

},

{

名称:'king1,

通过'234,

指数:1

}

};

数组中的对象/元素,按索引升序

VaR比较(O1,O2){函数

返回o1.index > o2.index;

};

ObjInArray.sort(比较);

console.log(objinarray { 0 }。指数<objinarray { 1 }。指数); / /真的

8个方法

它主要包括每一,一些地图,滤波器

每一个相信人人都会,主要介绍其他四种方法。

每个方法接受一个返回布尔类型值的函数,并使用数组中每个元素的函数。如果函数返回到所有元素的true,则方法返回true。

复制代码如下:var号= { 2, 4, 6,8 };

迭代器方法不生成新数组。

VaR是=功能(NUM){

返回数量% 2 = 0;

};

如果它返回true

console.log(nums.every(平) / /真实);

某些方法还接受一个具有布尔类型返回值的函数,只要元素使函数返回true,它就返回true。

VaR是=功能(NUM){

返回数量% 2 = 0;

};

无功nums1 = { 1, 2, 3,4 };

console.log(nums1.some(平) / /真实);

map和筛选器都可以生成一个新数组,而map返回的新数组则是将函数应用到原始元素的结果:

复制代码代码如下:var =函数(级){

返回等级= 5;

}

var等级= { 72, 65, 81,92, 85 };

无功newgrades = grades.ma

过滤的方法是相似的方法,通过在一个函数返回一个布尔类型的值。不像每()方法,当应用的所有功能的阵列和所有的结果都是真实的,该方法不返回true,而是返回一个新数组,其中包含元素的真实结果应用功能后。

复制代码代码如下:var是=功能(Num){

返回num % 2 = = = 0;

};

VAR没有提供=功能(NUM){

返回数量% 2 = 0;

};

VaR号= { };

对于(var i = 0;i < 20;i + +){

你{我} = I + 1;

}

无功平衡= nums.filter(平);

console.log(事件); / / { 2, 4, 6,8, 10, 12,14, 16, 18,20 }

VaR的赔率= nums.filter(没有提供);

console.log(优势); / / { 1, 3, 5,7, 9, 11,13, 15, 17,19 }

三。总结

在低层浏览器中还存在一些不支持的方法,还需要其他的方法来实现。

这些都是不容易想到的普通方法,你不妨多加注意。

希望本文能对大家的javascript程序设计有所帮助。