Js数组
Js数组方法
1.把数组转换为字符串:toString() join('分隔符')
2.pop() 删除数组最后一个元素 返回被删除的值
3.push() 在数组末尾添加一个元素 返回数组长度
4.shift() 删除数组首个元素 返回被删除的值
5.unshift() 在数组头部添加一个元素 返回数组长度
6.arr[0] 下标修改元素内容
7.arr[arr.length] 添加元素
8.splice() 拼接数组:第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少元素。
其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
返回一个包含已删除项的数组
9.concat()合并(连接)数组:concat() 方法不会更改现有数组。它总是返回一个新数组
10.slice() 裁剪数组 slice() 方法创建新数组。它不会从源数组中删除任何元素slice() 可接受两个参数,第一个参数是从哪里开始裁剪,第二个参数是裁剪几个
11.sort() 数组排序 最强大的数组方法之一 奇怪的是:它是以以字母顺序对数组进行排序
关于数字排序: 如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1",通过一个比值函数来修正此问题:.sort(function(a,b){return a -b }) 比值函数凭借正负号就能将所有数按顺序排列出来
return a - b 正序 return b - a 倒序
1.以字母顺序进行排序:.sort()
2.以数字顺序进行排序:.sort(function(a,b){return a-b})
3.以随机顺序排序数组: .sort(function(a, b){return 0.5 - Math.random()});
4.查找最高(或最低)的数组值: .sort(function(a,b){return a-b})排序后根据下标[0][arr.length-1]就可以获取到最小和最大值 (效率低不建议使用)
5.Math.max.apply() 查找数组中的最大值 function myArrayMax(arr){return Math.max.apply(null, arr)} Math.max.apply([1, 2, 3]) 等于 Math.max(1, 2, 3)
6.Math.max.apply() 查找数组中的最小值
7.自定义查找最大最小值函数: function myArrayMax(arr) {
var len = arr.length
var max = -Infinity;
console.log(max)
while (len--) {
if (arr[len] > max) {
max = arr[len];
}
}
return max;
}
8.排序对象数组: 对比属性值 cars.sort(function(a, b){return a.year - b.year}); 如果数组里的数据是这样:
var cars = [
{type:"Dolvo", year:2016},
{type:"Aaab", year:2001},
{type:"CMW", year:2010}].sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
}).sort(function(a,b){return a.year - b.year})
12. reverse() 反转数组
一、判断某个变量是否是数组?
typeof (会识别成Object)
Array.isArray() 不支持老版本的浏览器,可以自定义一个方法isArray() 其原理就是constructor,假如对象原型包含单词 "Array" 则返回 true
instanceof Array (可以判断是否是数组)
二、数组迭代方法对每个数组项进行操作(数组的循环):
1.forEach() 方法为每个数组元素调用一次函数(回调函数)