解析:数组也是对象,和普通对象功能类似,也是用来存储一些值
数组分类
普通对象与数组对象区别
索引
构造函数创建数组对象
例如:var arr = new Array();
数组添加元素
语法:数组[索引] = 值
例如: arr[0] = 10;
读取数组元素
语法:数组[索引]
例如:console.log(arr[3]);
特殊: 如果读取不存在的索引,不会报错而是返回undefined
获取数组长度
解析:使用length属性来获取数组的长度(元素的个数)
语法:数组.length
连续数组与非连续数组
解析:
修改数组length
例如:var arr = [1,2,3]
arr.length = 4;
console.log(arr); //1,2,3,,
例如:var arr = [1,2,3]
arr.length = 2;
console.log(arr); //1,2
数组最后位置添加元素
语法:数组[数组.length] = 值;
例如: arr[arr.length] = 90;
数组字面量
语法: []
例如: var arr = [1, 2, 3, 4, 5, 10];
构造函数数组创建时添加元素
解析:将要添加的元素作为构造函数的参数传递,元素之间使用逗号隔开
例如: var arr2 = new Array(10, 20, 30);
数组元素构成
解析:数组中的元素可以是任意的数据类型,包括:对象、数组、函数
例如:
var arr = [“hello”, 1, true, null, undefined,{ name: “孙悟空” },[1, 2, 3],function () { alert(1) }];
解析:
例如: var arr = [“孙悟空”, “猪八戒”, “沙和尚”];
var result = arr.push(“唐僧”);
console.log(arr); //[“孙悟空”, “猪八戒”, “沙和尚”, “唐僧”]
console.log("result = "+result); //4
解析:该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回
例如: var arr = [“孙悟空”, “猪八戒”, “沙和尚”];
result = arr.pop();
console.log(arr);//[“孙悟空”, “猪八戒”]
console.log("result = "+result);//[’‘唐僧’’]
解析:
例如: arr.unshift(“二郎神”);
console.log(arr); //[’‘二郎神’’,“孙悟空”, “猪八戒”, “沙和尚”, “唐僧”]
解析: 可以删除数组的第一个元素,并将被删除的元素作为返回值返回
result = arr.shift();
console.log("result = " + result); //[’‘孙悟空’’]
解析:用来从数组提取指定元素;该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
参数:
特殊:
-1 倒数第一个
-2 倒数第二个
例如: var arr = [“孙悟空”, “猪八戒”, “沙和尚”, “唐僧”, “白骨精”];
var result = arr.slice(1, 4);// [ “猪八戒”, “沙和尚”, “唐僧”];
result = arr.slice(3);// [ “唐僧”, “白骨精”];
result = arr.slice(1, -2);// [ “猪八戒”, “沙和尚”];
解析:splice可以用于删除数组中的指定元素,使用splice()会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回
参数:
例如: arr = [“孙悟空”, “猪八戒”, “沙和尚”, “唐僧”, “白骨精”];
var result = arr.splice(3, 1);
console.log(arr);// [“孙悟空”, “猪八戒”, “沙和尚”, “白骨精”];
console.log(result);//[“唐僧”]
解析:
例如:
var arr = [“孙悟空”];
var arr2 = [“白骨精”];
var arr3 = [“蜘蛛精”];
var result = at(arr2, arr3, “牛魔王”); // [“孙悟空”, “白骨精”, “蜘蛛精”, “牛魔王”]
解析:
例如:
var arr = [“孙悟空”, “猪八戒”];
result = arr.join("@-@");//孙悟空@-@猪八戒
解析: 该方法用来反转数组(前边的去后边,后边的去前边)
例如: var = [“孙悟空”, “猪八戒”, “沙和尚”];
verse(); // [“沙和尚”, “猪八戒”, “孙悟空”]
解析:
例如:
arr = [“b”, “d”, “e”, “a”, “c”];
arr.sort(); //[“a”, “b”, “c”, “d”, “e”]
特殊:即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序,因此可能会得到错误的结果。
自定义排序规则
解析:
(1) 1 如果返回一个大于0的值,则元素会交换位置
(2) -1 如果返回一个小于0的值,则元素位置不变
(3) 0 如果返回一个0,则认为两个元素相等,也不交换位置
(4) 如果需要升序排列,则返回 a-b
(5) 如果需要降序排列,则返回b-a
例如:arr = [2,1,3];
arr.sort(function (a, b) {
//前边的大,是倒序
if(a > b){ return -1;
}else if(a < b){return 1;
}else{return 0; }//[3, 2,1]
//升序排列
// return a - b;
//降序排列
// return b - a; });
解析:
例如: var arr = [“孙悟空”, “猪八戒”, “沙和尚”];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}//孙悟空,猪八戒,沙和尚
解析:
遍历数组,该方法只支持IE8以上的浏览器,不兼容IE8
数组中有几个元素函数就执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,可以定义形参来读取这些内容
浏览器会在回调函数中传递三个参数:
第一个参数,就是当前正在遍历的元素
第二个参数,就是当前正在遍历的元素的索引
第三个参数,就是正在遍历的数组
例如: var arr = [“孙悟空”,“猪八戒”];
arr.forEach(function(value , index , obj){
console.log(value); });//孙悟空,猪八戒
其他知识:像forEach这种函数,由我们创建但是不由我们调用的,我们称为回调函数
在调用函数时,浏览器每次都会传递进两个隐含的参数:
(1)arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
解析:JS中使用Date对象来表示一个时间
Date对象创建
直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
例如:var d = new Date();
创建一个指定的时间对象,需要在构造函数中传递一个表示时间的字符串作为参数
日期的格式 月份/日/年 时:分:秒
例如:var d2 = new Date(“2/18/2011 11:10:30”);
解析: 获取当前日期对象是几日
例如:var d = new Date();
var date = d.getDate();//5
解析: 获取当前日期对象时周几,会返回一个0-6的值
0 表示周日,1表示周一,以此列推
例如:var day = d2.getDay();
解析:获取当前时间对象的月份,会返回一个0-11的值
0 表示1月,1 表示2月,… , 11 表示12月
例如: var month = d2.getMonth();
解析: 获取当前日期对象的年份
例如:var year = d2.getFullYear();
解析: 获取当前日期对象的时间戳;
时间戳,指的是从格林威治标准时间的1970年1月1日0时0分0秒到当前日期所花费的毫秒数(1秒 = 1000毫秒)
计算机底层在保存时间时使用都是时间戳
例如: var time = d2.getTime();
可利用时间戳来测试代码的执行的性能
例如:var start = w();
for (var i = 0; i < 100; i++) {console.log(i); }var end = w();
console.log(“执行了:” + (end - start) + “毫秒”);
解析:
解析: abs()可以用来计算一个数的绝对值
例如: Math.abs(-1) // 1
解析:可以对一个数进行向上取整,小数位只要有值就自动进1
解析:可以对一个数进行向下取整,小数部分会被舍掉
解析: 可以对一个数进行四舍五入取整
本文发布于:2024-01-31 21:37:45,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170670826631523.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |