Home > Web Front-end > JS Tutorial > body text

Summary of using array methods in JavaScript_javascript tips

WBOY
Release: 2016-05-16 15:15:33
Original
1184 people have browsed it

Define array

Copy code The code is as follows:

Var arryMap = {riskId:”<%=riskid%>”,riskType:”<%=risktype%>”};

or

Copy code The code is as follows:

Var arry =[];

Use:

var risk = arryMap.riskId;
Arry.push({id:”1”,name:”1”});
Arry.push({id:”2”,name:”2”});
Copy after login

A single value can also be placed in an array

For example:

var data2 = [];
Data2.push(1);
Data2.push(2);
Copy after login

Loop array values

Var data1 =[2];
data1 = arry;
If(data1 !=null){
For(var i in last){
Var lat = last[i];
Alert(lat.id);
Alert(lat.name);
}
}
Copy after login

Output: 1 1 2 2

Usage of arrays in js

1. Creation of array

var name= new Array(); //创建一个数组
name[0]="zhangsan"; //给数组赋值
name[1]="lisi";
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var name=["zhangsan","lisi"]; //创建一个数组并赋值
var name=new Array("zhangsan","lisi");
Copy after login

It should be noted that although the second method creates an array and specifies the length, in fact the array is variable-length in all cases, which means that even if the length is specified to be 5, the elements can still be stored at the specified length. Otherwise, note: the length will change accordingly.

2. Access to array elements

var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值
Copy after login

3. Adding array elements

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
Copy after login

4. Deletion of array elements

arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
Copy after login

5. Interception and merging of arrays

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
Copy after login

6. Copy of array

arrayObj.slice(0); //Returns a copy array of the array. Note that it is a new array, not pointing to
arrayObj.concat(); //Return a copy array of the array. Note that it is a new array, not pointing to

7. Sorting of array elements

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址
Copy after login

8. Stringification of array elements

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
Copy after login

2. Three attributes of array objects

1. length attribute

The Length attribute represents the length of the array, that is, the number of elements in it. Because the index of an array always starts from 0, the upper and lower limits of an array are: 0 and length-1 respectively. Unlike most other languages, the length property of JavaScript arrays is variable, which requires special attention. When the length attribute is set larger, the state of the entire array does not actually change, only the length attribute becomes larger; when the length attribute is set smaller than the original, the elements in the original array with indexes greater than or equal to length will All values ​​are lost. The following is an example demonstrating changing the length attribute:

var arr=[12,23,5,3,25,98,76,54,56,76];
//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length=12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length=10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
Copy after login

From the above code we can clearly see the nature of the length attribute. But the length object can not only be set explicitly, it may also be modified implicitly. You can use an undeclared variable in JavaScript. Similarly, you can also use an undefined array element (referring to an element with an index greater than or equal to length). In this case, the value of the length attribute will be set to the value of the element index used. Add 1. For example, the following code:

var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);
Copy after login

The code also first defines an array containing 10 numbers. It can be seen from the alert statement that its length is 10. Then the element with index 15 is used and assigned a value of 15, that is, arr[15]=34. At this time, the alert statement is used to output the length of the array, and the result is 16. Regardless, this is a surprising feature for developers accustomed to strongly typed programming. In fact, the initial length of an array created using the new Array() form is 0. It is the operation of undefined elements that causes the length of the array to change.

As you can see from the above introduction, the length attribute is so magical. You can use it to easily increase or decrease the capacity of the array. Therefore, an in-depth understanding of the length attribute will help to use it flexibly during the development process.

2. prototype attribute

Returns a reference to the prototype of the object type. The prototype property is common to object.

objectName.prototype

The objectName parameter is the name of the object object.

Description: Use the prototype attribute to provide a set of basic functions of the object's class. New instances of an object "inherit" the operations assigned to the object's prototype.

For array objects, the following example illustrates the use of the prototype attribute.

Add a method to the array object to return the maximum element value in the array. To accomplish this, declare a function, add it to Array.prototype, and use it.

function array_max( )
{
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
Copy after login

该代码执行后,y 保存数组 x 中的最大值,或说 6。

3、constructor 属性

表示创建对象的函数。

object.constructor //object是对象或函数的名称。

说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

例如:

x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。
Copy after login


function MyFunc {
// 函数体。
}
y = new MyFunc;
if (y.constructor == MyFunc) // 进行处理(条件为真)。
Copy after login

对于数组来说:

y = new Array();
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template