javascript学习笔记(五) Array 数组类型介绍_基础知识

数组的创建
第一种:

复制代码 代码如下:

var colors = new Array();
var colors = new Array(20);//创建包含20项的数组
var colors = new Array("Greg");//创建包含1项,即字符串"Greg"的数组
var colors = new Array("red","blue","green"); //创建包含3项

第二种:

复制代码 代码如下:

var colors = ["red","blue","green"];
var colors = [];//创建一个空数组

注意:数组的索引是从0开始的

1. length属性
length属性中保存数组的项数,如:

复制代码 代码如下:

var colors = ["red","blue","green"];
alert(colors.length); //3

length属性不是只读的,可以利用length属性在数组的末尾移除项,或者添加新的项,如:

复制代码 代码如下:

var colors = ["red","blue","green"];
colors.length = 2;
alert(colors); //red,blue
colors[colors.length] = "black";
alert(colors); //red,blue,black

2.join()方法,连接数组中的项

复制代码 代码如下:

var colors = ["red","blue","green"];
alert(colors.join(",")); //red,blue,green
alert(colors.join("||")); //red||blue||green

3.数组的栈方法:push()和pop()
push()方法 可以接受任意数量的参数把它们逐个添加的数组的末尾,并返回修改后数组的长度
pop()方法 从数组末尾移除最后一项,减少数组的length值,返回移除的项

复制代码 代码如下:

var colors = new Arrary(); //创建一个数组
var count = colors.push("red","green"); //推入两项到数组末尾
alert(count); //2
count = colors.push("black"); //推入一项到数组末尾
alert(count); //3
var item = colors.pop(); //移除最后一项并返回该值
alert(item); //"black"
alert(count); //2

4.数组的队列方法:push()和shift()、unshift()
push()方法同上
shift()方法 移除数组中的第一项并返回该项,数组长度减1
unshift()方法 在数组前端添加任意项,并返回新数组的长度

复制代码 代码如下:

var colors = new Arrary(); //创建一个数组
var count = colors.push("red","green"); //推入两项到数组末尾
alert(count); //2
count = colors.push("black"); //推入一项到数组末尾
alert(count); //3
var item = colors.shift(); //移除第一项并返回该值
alert(item); //"red"
alert(colors); //green,black
count = colors.unshift("blue"); //推入一项到数组前端
alert(count); //3
alert(colors); //blue,green,black

5.重排序方法:reverse()和sort()
reverse()方法 反转数组项的顺序
sort()方法 默认按字符串大小升序排列数组项,可以接受一个比较大小的函数作为参数

复制代码 代码如下:

var values = [1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1

复制代码 代码如下:

//升序排序函数
function compare(value1,value2) {
if (value1 < value2) {
return -1; //降序改为1
} else if (value1 > value2) {
return 1; //降序改为-1
} else {
return 0;
}
}

复制代码 代码如下:

//数组升序排列
var values = [0,1,5,15,20,10];
values.sort(compare);
alert(values);//0,1,5,10,15,20

复制代码 代码如下:

//对于数值型可以用这个函数,升序
function compare(value1,value2) {
return value2 - value1;
}

6.数组的一些方法:concat()方法、slice()方法和splice()方法
concat()方法 将参数添加到原数组末尾,返回新的数组,原数组不变
slice()方法 返回数组中的项,一个参数时返回指定位置到数组末尾所有的项,两个参数时返回起始位置和结束位置之间的项(不包括结束位置),原数组不变
splice()方法 向数组中插入,删除,或替换数组中的项,返回删除的项(没有删除时返回空数组),原数组改变

复制代码 代码如下:

//concat()方法
var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow",["black","brown"]);
alert(colors); //red,green,blue
alert(colors2); //red,green,blue,yellow,black,brown

复制代码 代码如下:

//slice()方法
var colors = ["red","green","blue","yellow","black"];
var colors2 = colors.slice(1); //一个参数时返回指定位置到数组末尾所有的项
var colors3 = colors.slice(1,4); //两个参数时返回起始位置和结束位置之间的项(不包括结束位置)
alert(colors2); //green,blue,yellow,black
alert(colors3); //green,,blue,yellow

复制代码 代码如下:

//splice()方法
//插入项,插入时指定3个参数:起始位置、0(要删除的项)、要插入的项
var colors = ["red","green","blue"];
var inserted = colors.splice(1,0,"yellow","orange"); //从位置1开始插入两项
alert(colors); //red,yellow,orange,green,blue
alert(inserted); //空数组

//替换项,删除时指定3个参数:起始位置、要删除的项、要插入的任意项
var colors = ["red","green","blue"];
var replaced = colors.splice(1,1,"black","brown"); //删除一项,插入两项
alert(colors); //red,black,browm,blue
alert(replaced); //green

时间: 2025-01-30 07:53:41

javascript学习笔记(五) Array 数组类型介绍_基础知识的相关文章

javascript学习笔记(三) String 字符串类型介绍_基础知识

1.字符方法charAt() .charCodeAt().fromCharCode() 复制代码 代码如下: var stringValue = "hello world"; alert(stringValue.charAt(1)); //"e" alert(stringValue[1]); //"e" alert(stringValue.charCodeAt(1)); //101 alert(String.fromCharCode(104,10

javascript学习笔记(十二) RegExp类型介绍_基础知识

1.匹配模式标记: g ------ 表示全局模式,而不是发现第一个匹配成功就立刻结束 i ------- 表示不区分大小写模式 m ----- 表示多行匹配,一行结束时向下一行继续匹配 复制代码 代码如下: //匹配第一个bat 或cat,不区分大小写 var pattern1 = /[bc]at/i var pattern2 = new RegExp("[bc]at","i"); //同上 使用RegEXp是字面量模式要转换成字符串 /\[bc\]at/ ===

Javascript学习笔记8 用JSON做原型_基础知识

代码如下: 复制代码 代码如下: <script type="text/javascript"> var People = { name: "kym", age: 21, SayHello: function () { alert("Hello,My name is " + this.name + ".I am " + this.age); } } alert(People.name); People.SayHel

JavaScript学习笔记(十七)js 优化_基础知识

一直很迷惑司徒正美为什么对以下的for循环还鄙视, for (var i = 0; i < list.length; i++) { //循环代码 } 看了下面这篇文章终于TM明白了... 语言层次方面 循环 在JavaScript中,我们可以使用for(;;),while(),for(in)三种循环,事实上,这三种循环中for(in)的效率极差,因为他需要查询散列键,只要可以就应该尽量少用. 如果要与数组的长度作比较,应该事先把数组的length属性放入一个局部变量中,减少查询次数. 所以上面的

JavaScript学习笔记(二) js对象_基础知识

1.简单类型 javascript的简单类型包括 数字(Number).字符串(String).布尔值(Boolean).null值 和 undefined值.其他所有值都是对象. 2.对象 javascript中的对象是可变键控集合.在javascript中,数组.函数.正则表达式都是对象. 对象是属性的容器.其中每个属性都拥有名字和值.属性的名字可以是包括空字符串在内的任意字符串.属性值可以是除undefined值之外的任何值. 3.对象的定义方法 (1)用字面量定义.例如: var obj

JavaScript 学习笔记之操作符(续)_基础知识

一.乘性操作符 1.乘法:*      乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscript数值的表示范围,则返回infinity或者-infinity 如果有一个操作数是NaN,那返回结果就是NaN 如果是infinity与0相乘,返回NaN 如果infinity与非0数相乘,返回infinity或者-infinity infinity与infinity相乘,返回infinity 如果有一个操作数不是数值,后台会先调用number()将其转化为

JavaScript 学习笔记(十四) 正则表达式_基础知识

RegExp类 RegExp对象的构造函数可以带一个或两个参数 第一个参数是描述需要进行匹配的模式字符串,如果还有第二个参数,这个参数则制定了额外的处理指令. 一.基础 1.1使用RegExp对象 test()方法 测试是否匹配.如果给定字符串(只有一个参数)匹配这个模式,它就返回true,否则返回false 复制代码 代码如下: var sToMatch = "cat"; var reCat = /cat/; //正则表达式字面量使用Perl风格的语法 alert(reCat.tes

javascript 学习笔记(一)DOM基本操作_基础知识

html部分代码: 当点击show按钮时,触发showValue函数,将input value的值动态添加到id="text"的元素节点中! 复制代码 代码如下: <p> <input type="text" value="" name="user_name" id="user_name" /> <span style="padding-left:10px;"

Javascript学习笔记7 原型链的原理_基础知识

我们先看看这样一段代码: 复制代码 代码如下: <script type="text/javascript"> var Person = function () { }; var p = new Person(); </script> 很简单的一段代码,我们来看看这个new究竟做了什么?我们可以把new的过程拆分成以下三步: <1> var p={}; 也就是说,初始化一个对象p. <2> p.__proto__=Person.proto