JS学习(2)
1.数组var cars = ["Saab", "Volvo", "BMW"];
创建数组 var cars = Array("Saab", "Volvo", "BMW")
document.getElementById("demo").innerHTML = cars; 通过引用数组名来访问完整数组。
[0] 是数组中的第一个元素。[1] 是第二个。数组索引从 0 开始。
2.对数组使用 typeof
运算符会返回 "object"。
3.在数组保存对象。您可以在数组中保存函数。你甚至可以在数组中保存数组:
myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;
4.访问最后一个数组元素 [fruits.length - 1]
5.遍历数组 用for循环或者Array.foreach()函数
fruits.forEach(myFunction);
function myFunction(value) {
text += "<li>" + value + "</li>";
}
6.添加数组用push()方法 fruits.push("Lemon")
也可以用length属性向数组添加新元素 fruits[fruits.length] = "Lemon"; // 向 fruits 添加一个新元素 (Lemon)
7.var x = cars.length; // length 属性返回元素的数量
var y = cars.sort(); // sort() 方法对数组进行排序
8.数组和对象的区别
在js中,数组使用数字索引。 希望元素名为数字时,为数组
在js中,对象使用命名索引。 希望元素名为文本字符串时,为对象
9.判断数据类型是否为数组
方案一:Array.isArray(fruits); // 返回 true
方案二:创建您自己的 isArray()
函数以解决此问题:
function isArray(x){
return x.constructor.toString().indexOf("Array") > -1;
}
方案三:用instanceof运算符返回 true
fruits instanceof Array; // true
10.JavaScript 方法 toString()
把数组转换为数组值(逗号分隔)的字符串。 JS对象都有toString方法
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
结果
Banana,Orange,Apple,Mango
11.join()方法也可将数组元素结合为一个字符串。 (与toString()方法类似,但是可以规定分隔符)
document.getElementById("demo").innerHTML = fruits.join(" * ");
12.数组的首、尾的添加和删除操作
Popping
pop()
方法从数组中删除最后一个元素:
push()
方法(在数组结尾处)向数组添加一个新的元素:
shift()
方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
unshift()
方法(在开头)向数组添加新元素,并“反向位移”旧元素
unshift()
方法返回新数组的长度。
13.更新元素
方法一 : 利用索引号更新 fruits[ 0 ] = "Kiwi";
方法二 :length属性提供追加新元素 fruits[fruits.length] = "Kiwi";
14.删除元素 :delete
delete fruits[0]; //删除首个元素 变为undefined 会留下空洞 推荐使用 pop(尾部) 或 shift(首个)
15.拼接数组:
(1)splice() 向数组添加新项
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi"); //新数组:Banana,Orange,Lemon,Kiwi,Apple,Mango
第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少元素。
其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
splice()
方法返回一个包含已删除项的数组:
(2)splice()来删除元素
fruits.splice(0,1); //删除 fruits 中的第一个元素
第一个参数(0)定义新元素应该被添加(接入)的位置。
第二个参数(1)定义应该删除多个元素。
其余参数被省略。没有新元素将被添加。
16.合并(连接)数组:concat()
var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
concat()
方法不会更改现有数组。它总是返回一个新数组。
concat()
方法可以使用任意数量的数组参数:
合并三个数组
var myChildren = arr1.concat(arr2, arr3); // 将arr1、arr2 与 arr3 连接在一起
17.裁剪数组
slice()
方法用数组的某个片段切出新数组。 两个参数 从一切到三(1,3]
var citrus = fruits.slice(1);
18.JS数组排序:sort() 以字母顺序对数组进行排序 fruits.sort()
reverse:反转数组元素 可进行降序排序 fruits.reverse()
sort 对数值进行排序时,会产生不正确的结果。
通过比值函数修正此问题
points.sort(function(a,b){return a-b}) 升序
points.sort(function(a,b){return b-a}) 降序
查找最高(最低)的数组值
升序
最低:points[0]
最高:points[points.length-1]
19.对数组使用Math.max()
使用Math.max.apply来查找数组中的最高值:
function myArrayMax(arr) { return Math.max.apply(null, arr); }
您可以使用 Math.min.apply
来查找数组中的最低值:
20.数组迭代
数组迭代方法对每个数组项进行操作。
forEach()
方法为每个数组元素调用一次函数(回调函数)。
Array.map()
map()
方法通过对每个数组元素执行函数来创建新数组。
map()
方法不会对没有值的数组元素执行函数。
map()
方法不会更改原始数组。
Array.filter()
filter()
方法创建一个包含通过测试的数组元素的新数组。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)