javascript 数组 和其他引用类型
来源:互联网 发布:mac怎么输入货币符号 编辑:程序博客网 时间:2024/06/05 16:36
一.数组
- 数组的初始化 有两种:
var arr = new Array();var arr = [1,2,3,4,5];
- 在jsz中输出数组的值等价于调用数组的toString方法
- javascript可以动态的改变数组的长度,并且被截断后的数组后面元素为空。
<script type="text/javascript"> var arr = [1,2,3,4,5]; document.write(arr);//输出为1,2,3,4,5 arr.length = 2; document.write(arr);//输出为1,2, arr.length = 5; document.write(arr);//输出为1,2,,, </script>
- 数组添加元素和移除元素的方法:
arr.push()//添加元素 返回结果为新数组长度
arr.pop()//弹出元素 返回值为移除的结果
arr.shift() //从头部移除一个元素 返回值为移除的元素
arr.unshift() // 从头部添加 返回值为数组的长度
<script type="text/javascript"> var arr = [1,2,3]; document.write(arr.push(4,5));//输出为5 document.write(arr)//输出为1,2,3,4,5 document.write('-------------'); document.write(arr.pop(1));//输出为5 document.write(arr);//输出为1,2,3, 4 document.write('-------------'); document.write(arr.shift());//输出为1 document.write(arr);//输出为2,3,4 document.write('-------------'); document.write(arr.unshift(6,9));//输出为5 alert(arr)//输出为4 </script><hr/>
- 数组的其他操作:
arr.splice(起始位置,截取的个数,第三个以后表示追加) 返回值为移除的元素
arr.slice(起始位置,截取位置) 不操作数据本身
arr.concat() 对数组的合并 不操作数组本身
arr.join(‘-‘)元素之间添加内容,不操作数组本身
arr.sort()数组排序 操作数组本身 可以接一个函数来自定义比较
arr.reverse()将数组倒叙排序
<script type="text/javascript"> var arr1 = [1,2,3]; var arr2 = [4,5,6]; alert(arr1.splice(1, 2, arr2));//输出为2,3 alert(arr1)//输出为1,4,5,6 alert(arr1.slice(1,3));//输出4,5,6 alert(arr1);//1,4,5,6 不操作原本的数组 alert(arr1.concat(arr2));//1,4,5,6,4,5,6 alert(arr2.join('-')); //4-5-6 alert(arr1.sort());//1,4,5,6 alert(arr1.sort(new Function("a","b","return a <b ; ")));//6,5,4,1 alert(arr1.reverse());//4,5,6,1 </script>
注意:alert(arr1.reverse());//4,5,6,1
这里输出并不是想象中1,4,5,6。因为splice函数拼接的arr1返回值是[1,arr2],这里的数组是arr2的引用,并不是arr2的拷贝。后面的排序操作只会对[1,arr2[0]]进行比较操作,并不会对arr2内部进行排序。可以想象如果对arr2进行修改,arr1也会改变,因为arr1存取的只是arr2的引用。
二.Object对象
- Object 对象不能有重复的值
- 对象的属性可以为函数
<script type="text/javascript"> var obj = new Object(); obj.name = 'li'; obj.age = 20 ; obj.say = Function("alert('hehe')"); for(var attribute in obj){ alert(attribute+obj[attribute]); } </script>
三.其他引用类型
- Global对象
global对象中的方法是属于声明的全局变量的 - MATH
- DATE
四.EMAC5 数组的新特性
- 查找元素
- arr.indexOf(“4”)查看其索引值
- arr.indexof(起始位置,所查的参数)
- arr.lastIndexOf();//查找最后一个
- 对数组元素的操作:
- every : 对数组的每一元素行函数的运行 如果都返回true 最后返回true 如果有一个false 则返回false
- some 有一个true 则返回true
- filter 对数组进行一个执行,将过滤后的结果返回
- forEach 循环数组的每一项的值,并执行一个方法
- map 执行方法 ,并返回结果
- reduce 并返回结果 遍历
<script type="text/javascript"> var array =[1,2,3,4,5,6]; var a1 = array.every(function(item,index,array){return item>3;});//true var a2 = array.some(function(item,index,array){return item>3;});//false var array1 = array.filter(function(item,index,array){return item>3;});//返回[4,5,6] var array2 = array.map(function(item,index,array){return item * 2;});//返回[2,4,,6,8,10,12] //此处不能对 item进行操作 因为item只是一个临时的值,而不是数组的引用。 array.forEach(function(item,index,array){array[index] = item * 2;}); var a3 = array.reduce(function(prev,cur,index,array){return prev+cur;});//返回42 返回的值存在prev这个变量里 </script>
0 0
- javascript 数组 和其他引用类型
- javascript其他引用类型对象
- javaScript——其他引用类型对象
- JavaScript引用类型:使用对象和创建并操作数组
- javascript基本语法2 引用类型------数组
- javascript基本语法6 其他引用类型对象
- javascript的基本类型和引用类型
- JavaScript中的值类型和引用类型
- JavaScript原始类型和引用类型
- 理解JavaScript中值类型和引用类型
- Javascript中的基本类型和引用类型
- JavaScript基本类型和引用类型
- JavaScript数据类型--值类型和引用类型
- JavaScript中的基本类型和引用类型
- javascript基本类型和引用类型浅析
- Javascript值类型和引用类型
- JavaScript值类型和引用类型
- JavaScript的基本类型和引用类型
- JavaScript初探
- Size Balanced Tree Sbt模板
- Fedora系统之打开终端快捷键设置
- 父结点、子结点、兄弟结点
- HiHoCoder_#1175 : 拓扑排序·二
- javascript 数组 和其他引用类型
- Java系统中JSON的封装
- python 迭代器小结
- JNI的开发流程
- 句法结构分析
- css实现垂直居中
- 利用java定时器Timer实现定时传送数据的任务
- C++类,赋值运算符=重载,以及深拷贝和浅拷贝
- POJ3261 Milk Patterns