javascript笔记--(第八章)对象和数组
来源:互联网 发布:网络制式按什么划分 编辑:程序博客网 时间:2024/06/05 14:13
Object类型
<script type="text/javascript">var box = new Object();box.name = "box";var box1 = new Object; // 可以省略()box1.name = "box1";var box2 = Object();//可以省略newbox2.name = "box2";var box3= {'name':"box3"};//key可以加引号console.log(box.name);console.log(box1['name']) //可以用[]输出属性值console.log(box2.name);console.log(box3.name);delete box.name;//删除name属性console.log(box.name) //undefined</script>
Array类型
<script type="text/javascript">var box = new Array();//创建了一个数组var box = new Array(10); //创建一个包含10个元素的数组var box = new Array('李炎恢',28,'教师','盐城');//创建一个数组并分配好了元素var box = Array();//可以省略new关键字var box = ['李炎恢',28,'教师','盐城']; //使用字面量定义数组,不会调用Array构造函数(Firefox除外)</script>
对象或数组都具有toLocaleString()、toString()和valueOf()方法。这三个方法都可以重写
<script type="text/javascript">var box = ['李松',26,'程序员']; //使用字面量定义数组,不会调用Array构造函数(Firefox除外)console.log(box.valueOf()); //["李松", 26, "程序员"]console.log(box.toString()); //李松,26,程序员console.log(box.toLocaleString()); //李松,26,程序员box.valueOf = function(){return "lisong_1";}box.toString = function(){return "lisong_2";};box.toLocaleString = function(){return "lisong_3";}console.log(box.valueOf()); //lisong_1console.log(box.toString()); //lisong_2console.log(box.toLocaleString()); //lisong_3console.log(box.join("|")) //李松|26|程序员//可以指定连接符</script>
数组栈方法
push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。而pop()方法则从数组末尾移除最后一个元素,减少数组的length值,然后返回移除的元素。
<script type="text/javascript">var box = [];console.log(box.push('李松',26,'程序员'));//3,添加元素并返回数组长度console.log(box);//["李松", 26, "程序员"]console.log(box.pop());//程序员,删除栈顶元素并返回删除的元素console.log(box);//["李松", 26]</script>
数组的队列方法
栈方法是后进先出,而列队方法就是先进先出。列队在数组的末端添加元素,从数组的前端移除元素。通过push()向数组末端添加一个元素,然后通过shift()方法从数组前端移除一个元素。 ECMAScript还为数组提供了一个unshift()方法,它和shift()方法的功能完全相反。unshift()方法为数组的前端添加一个元素
<script type="text/javascript">var box = [];console.log(box.push('李松',26,'程序员'));//3,添加元素并返回数组长度console.log(box);//["李松", 26, "程序员"]console.log(box.shift());//李松,移除队头元素并返回console.log(box);//[26,"程序员"]console.log(box.unshift("李松","耒阳"));//4,在队头添加元素并返回添加后的数组长度console.log(box);//console.log(box);</script>PS:IE浏览器对unshift()方法总是返回undefined而不是数组的新长度。
数组的重排序方法
数组中已经存在两个可以直接用来排序的方法:reverse()和sort(),这两个方法将改变源数组。
<script type="text/javascript">var box = [1,3,4,2];box.reverse(); //将数组逆序console.log(box); //[2, 4, 3, 1]box.sort(); //默认从小到大排序console.log(box); //[1, 2, 3, 4]box.reverse(); //将数组逆序console.log(box); //[4, 3, 2, 1]function mySort(value1,value2){if(value1<value2)return -1;else if(value1 == value2)return 0;elsereturn 1;}box.sort(mySort); //自定义排序console.log(box); //[1, 2, 3, 4]</script>
数组的操作方法
ECMAScript为操作已经包含在数组中的元素提供了很多方法。concat()方法可以基于当前数组创建一个新数组。slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。splice()主要用途是向数组的中部插入或删除元素。
concat函数:
<script type="text/javascript">var box = ["李松",26,"程序员"];var box2 = box.concat("耒阳","黄市");console.log(box2); //["李松", 26, "程序员", "耒阳", "黄市"]console.log(box); //["李松", 26, "程序员"],当前数组没有变化</script>
slice函数:
语法
arrayObject.slice(start,end)
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
<script type="text/javascript">var box = ["李松",26,"程序员"];var box2 = box.slice(1,2); //2是结束下标(不包括)console.log(box2); //26]console.log(box); //["李松", 26, "程序员"],当前数组没有变化box2 = box.slice(-3,-1);console.log(box2); //["李松",26],倒数第三个开始,倒数第一个结束box2 = box.slice(3,1);console.log(box2); //[],开始下标在结束下标之后,将返回空数组box2 = box.slice(-1,-3);console.log(box2); //[],开始下标在结束下标之后,将返回空数组</script>
splice函数:
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
返回值
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
<script type="text/javascript">var box = ["李松",26,"程序员"];var box2 = box.splice(1,2,20); //返回删除的元素console.log(box2); //[26, "程序员"]console.log(box); //["李松", 20]box = ["李松",26,"程序员"];var box2 = box.splice(1,1,20);//返回删除的元素console.log(box2); //[26]console.log(box); //["李松", 20, "程序员"]box = ["李松",26,"程序员"];var box2 = box.splice(1,0,"耒阳");//返回删除的元素console.log(box2); //[]console.log(box); //["李松", "耒阳", 26, "程序员"]box = ["李松",26,"程序员"];var box2 = box.splice(-1,0,"耒阳");//返回删除的元素console.log(box2); //[]console.log(box); //["李松", 26, "耒阳", "程序员"]</script>
0 0
- javascript笔记--(第八章)对象和数组
- javaScript 笔记 (五) 对象和数组
- JavaScript学习笔记——对象和数组(上)
- JavaScript学习笔记——对象和数组(下)
- javascript学习笔记--数组和对象
- Javascript学习笔记(二)Javascript核心之对象和数组
- C++学习笔记(第八章 类和对象 初识对象 之一)
- C#学习之路,学习笔记 第八章 8.7 8.8引用符 和 8.9声明对象数组
- JavaScript 对象和数组
- JavaScript对象和数组
- [JavaScript]-----对象和数组
- javascript 对象和数组
- JavaScript对象和数组
- JavaScript数组和对象
- JavaScript:对象和数组
- JavaScript对象和数组
- JavaScript对象和数组
- JavaScript 对象和数组
- JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】
- Scala中的=>符号
- HTTP协议详解
- srand和rand的使用
- 交换与路由练习(一、排错)
- javascript笔记--(第八章)对象和数组
- 红黑树的旋转、查找和删除(附源代码)
- 开启博客之路
- 猫哥带你去战斗——Java Web开发——Java篇[0]——小谈动态网页
- 交换与路由练习(二、排错)
- 蓝桥杯-特殊的数字
- 洛谷P1803 凌乱的yyy
- sizeof和strlen的区别
- iOS CFRUnLoopRef 之CFRunLoopMode