JavaScript数组最多可以存放4294967295个项,如果要添加更多的项,则会发生异常。
Array对象覆盖了toString()方法和valueOf方法,返回特殊的字符串。
var aColors =
["red","green","blue"];
alert(aColors.toString());//输出red,green,blue
alert(aColors.valueOf());//输出red,green,blue
toLocaleString()方法的返回值也是由数组构成的字符串。
var aColors =
["red","green","blue"];
alert(aColors.toLocaleString());//输出red, green,
blue大多数情况下toLocaleString()方法的输出值都与toString()方法的输出值相同,这里的输出值多了两个空格(在green和blue的前面各有一个),在IE6和FF都试过了,把语言区域和Internet语言首选项都设成英文国家,结果还是一样,不知道为什么,请高手指点。
join()方法,连接字符串,只有一个参数即数组项之间使用的字符串。
var aColors =
["red","green","blue"];
alert(aColors.join(","));//输出red,green,blue
alert(aColors.join("]["));//输出red][green][blue
alert(aColors.join("-我是连接字符串-"));//输出red-我是连接字符串-green-我是连接字符串-blue
split()方法,分割字符串,和join()方法相反split()是把字符串转换成数组
var sColors = "green";
aColors =
sColors.split("");
alert(aColors.toString());//输出g,r,e,e,n
var sColors = "red-green-blue";
aColors =
sColors.split("-");
alert(aColors.toString());//输出red,green,blue
Array对象具有两个String类具有的方法,即concat()和slice()方法。
concat()方法,参数将被附加在数组末尾
var aColors = ["red","green","blue"];
var aColors2 =
aColors.concat("yellow",
"purple");
alert(aColors2.toString());//输出red,green,blue,yellow,
purple
alert(aColors.toString());//输出red,green,blue
slice()方法,取出数组的一部分
var aColors = ["red","green","blue","yellow", "purple"];
var aColors2 =
aColors.slice(1);//截取数组从位置1个开始的所有元素(0为第一个元素)
var aColors3 =
aColors.slice(1,4);//截取数组从位置1个开始到位置4之前的元素(不包括位置4)
alert(aColors2.toString());//输出green,blue,yellow,purple
alert(aColors3.toString());//输出green,blue,yellow
后进先出(LIFO),push()方法和pop()方法
push()方法用于向数组末尾添加一个或多个项
pop()方法用于删除数组的最后一项
var
stack = new
Array;
stack.push("red");
stack.push("green");
stack.push("yellow");
alert(stack.toString());//输出red,green,yellow
var
vItem =
stack.pop();
alert(vItem);//输出yellow
alert(stack.toString());//输出red,green
先进先出(FIFO),shift()方法和unshift()方法
shift()方法用于删除数组中的第一项
unshift()方法用于把一个项放在数组的第一个位置,然后把所有的项向后移动一个位置
var
aColors = ["red","green","yellow"];
var vItem =
aColors.shift();
alert(aColors.toString());//输出red,green,yellow
alert(vItem);//输出red
aColors.unshift("black");
alert(aColors.toString());//输出black,green,yellow
通过调用shift()和push()方法模仿队列,后进后出(LILO)
var
queue =
["red","green","yellow"];
queue.push("black");
alert(queue.toString());//输出red,green,yellow,black
var
sNextColor =
queue.shift();
alert(sNextColor);//输出red
alert(queue.toString());//输出green,yellow,black
为数组排序,reverse()方法和sort()方法
reverse()方法,逆序排列
var
aColors =
["red","green","blue","1","2","3"];
aColors.reverse();
alert(aColors.toString());//输出3,2,1,blue,green,red
sort()方法,升序排列
var
aColors =
["red","green","blue","1","2","3"];
aColors.sort();
alert(aColors.toString());//输出1,2,3,blue,green,red
var
aColors =
["15","2","3"];
aColors.sort();
alert(aColors.toString());//输出15,2,3
这里15排在了2和3的前面,这是因为sort()方法进行排列以前先调用toString()方法将所有值转换成字符串,然后根据字符代码比较数组项,1小于2所以15排在2前面。。解决方法如下:
var
aColors =
["15","2","3"];
aColors.sort();
alert(aColors.toString());//输出15,2,3
var
aColors =
["15","2","3"];
aColors.sort(compareIntegers);
alert(aColors.toString());//输出2,3,15
function
compareIntegers(vNum1,vNum2){
var vNum1 = parseInt(vNum1);
var vNum2 =
parseInt(vNum2);
if (vNum1 < vNum2){
return -1;
}else if (vNum1
> vNum2){
return 1;
}else{
return
0;
}
}
sort()方法可以仅可以接受一个参数,即比较函数,这里的比较函数为compareIntegers,需要自己定义。
如需要降序排列只需要先调用一次sort()方法升序排列,再调用reverse()方法把顺序反过来就可以了^_^
splice()方法
arr.splice(0,2)//删除数组中的前两项
arr.splice(2,0,"red","green")//在位置2处插入red和green
arr.splice(2,1,"red","green")//将删除位置2处的项,并插入red和green
var
arr =
["1","2","3","4","5","6"];
arr.splice(0,2);
alert(arr.toString());//输出3,4,5,6
var
arr =
["1","2","3","4","5","6"];
arr.splice(2,0,"red","green");
alert(arr.toString());//输出1,2,red,green,3,4,5,6
var
arr =
["1","2","3","4","5","6"];
arr.splice(2,1,"red","green");
alert(arr.toString());//输出1,2,red,green,4,5,6
写的有点慢,跟不上看书的速度...
相关推荐
以上是JavaScript学习笔记中提到的一些核心知识点,通过对这些知识点的理解和熟练应用,可以为进一步学习和掌握JavaScript打下坚实的基础。在实际开发过程中,结合具体的项目需求,这些知识会得到更深入的拓展和应用...
这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...
本学习笔记旨在帮助初学者快速掌握JavaScript的核心概念和技术,实现从入门到精通的过渡。 1. **基础语法** - 变量声明:JavaScript支持var、let和const关键字声明变量,理解它们的作用域和提升特性至关重要。 - ...
### JavaScript学习笔记精要 #### JavaScript简介 JavaScript是一种强大的、多用途的脚本语言,用于增强网站的交互性和用户体验。它是由Netscape公司的Brendan Eich在1995年发明的,并且迅速成为了Web开发的标准之...
JavaScript 基础学习笔记 本资源摘要信息基于黑马视频记录的学习笔记,涵盖了 JavaScript 基础知识点,包括 HTML、CSS、JavaScript、DOM、事件处理等内容。 HTML 和 CSS 基础 * HTML 结构:head、body、title、...
### JavaScript基础教程笔记知识点 #### 一、JavaScript简介 - **定义**:JavaScript是一种轻量级的编程语言,主要用于Web浏览器中的网页交互控制。 - **发展历史**:1995年由Netscape公司的Brendan Eich设计并...
### JavaScript 数组对象 JSON 学习笔记 #### 一、JavaScript 数组操作 在 JavaScript 中,数组是一种常用的数据结构,用于存储多个值。本部分主要介绍如何创建数组、访问数组元素以及对数组进行各种操作。 #####...
接着学习变量、数据类型、控制流语句、函数等基础知识,以及常用的内置对象和API,如Array、String、Date等。随着经验的增长,可以进一步学习面向对象编程、异步编程(回调函数、Promise、async/await)、模块化...
1. 使用Array构造函数,例如: ```javascript var colors = new Array(); var colors = new Array(20); // 创建长度为20的数组 var colors = new Array("red", "blue", "green"); // 创建包含3个字符串的数组 ...
在这篇学习笔记中,我们将深入探讨JavaScript中的数据操作和函数作用域。 首先,我们要明白JavaScript中的数据类型分为基本数据类型(如Number、String、Boolean、Null、Undefined和Symbol)和对象数据类型(如...
JavaScript是Web开发中不可或缺的一部分,它是一种轻量级的解释型编程语言,广泛应用于网页和互联网应用开发。本文将深入探讨JavaScript的一些核心知识点,包括基本语法、动态函数、DOM操作以及对象封装等。 1. ...
JavaScript中的引用类型主要包括Object、Array、Date、RegExp等,它们都是基于引用而不是值来传递的,这意味着当你改变引用类型的实例时,会影响到所有指向该实例的引用。 **1. Object类型** Object类型是最基础的...
在学习JavaScript的过程中,理解其基本概念和语法至关重要。以下是对标题和描述中提到的知识点的详细说明: 1. **文档对象模型(DOM)与Document对象**: DOM是HTML和XML文档的结构表示,Document对象是DOM的根...
此外,JavaScript还有许多其他特性,如作用域、闭包、原型链、异步编程等,这些都是深入学习JavaScript时需要掌握的重要概念。随着技术的发展,现代JavaScript(如ES6及以上版本)引入了更多的新特性,如箭头函数、...
例如,`Array.of(1)`将创建一个包含一个元素`1`的新数组,而`Array(1)`将创建一个长度为1的空数组。 接下来,是一些操作、填充和过滤数组的方法: 1. **Array.prototype.copyWithin()**: `copyWithin()`方法用于...