1 .数组静态方法_Array.isArray()
Array.isArray 方法返回一个布尔值,表示参数是否为数组。它可以弥补
typeof 运算符的不足
var arr = ["尚学堂", 100, true];
console.log(typeof arr); // object
var arr = ['sxt', 'baizhan', 'it'];
Array.isArray(arr) // true
var arr = ["尚学堂", 100, true];
var str = "itbaizhan";
console.log(typeof arr); // object
console.log(Array.isArray(arr)); // true
console.log(typeof str); //string
console.log(Array.isArray(str)); //false
2.数组方法_push()/pop()
push 方法用于在数组的末端添加一个或多个元素,并返回添加新元
素后的数组长度。注意,该方法会改变原数组
var arr = [];
arr.push("尚学堂") // 1
arr.push('itbaizhan') // 2
arr.push(true, {}) // 4
arr // [尚学堂, 'itbaizhan', true, {}]
pop 方法用于删除数组的最后一个元素,并返回该元素。注意,该方
法会改变原数组
var arr = ['尚学堂'
, 'itbaizhan', 'WEB前端'];
arr.pop() // 'WEB前端'
arr // ['尚学堂', 'itbaizhan']
var arr = [];
arr.push('尚学堂'
, 'itbaizhan');
arr.push('WEB前端');
arr.pop();
arr.push('尚学堂');
console.log(arr); //['尚学堂', 'itbaizhan', '尚学堂']
3. 数组方法_shift()/unshift()
shift 方法用于删除数组的第一个元素,并返回该元素。注意,该方
法会改变原数组
var arr = ['尚学堂', 'itbaizhan', 'WEB前端'];
arr.shift() // '尚学堂'
arr // ['itbaizhan', 'WEB前端']
shift 方法可以遍历并清空一个数组
var list = [1, 2, 3, 4, 5, 6];
var item;
while (item = list.shift()) {
console.log(item);
}
list // []
unshift 方法用于在数组的第一个位置添加元素,并返回添加新元素后
的数组长度。注意,该方法会改变原数组
var arr = ['尚学堂', 'itbaizhan', 'WEB前端'];
arr.unshift('baizhan'); // 4
arr // ['baizhan', '尚学堂', 'itbaizhan', 'WEB前端']
unshift 方法可以接受多个参数,这些参数都会添加到目标数组头部
var arr = [ '尚学堂', 'itbaizhan' ];
arr.unshift('WEB前端', 'baizhan') // 4
arr // [ 'WEB前端', 'baizhan', '尚学堂','itbaizhan' ]
var arr = [];
arr.unshift('尚学堂', 'itbaizhan');
arr.unshift('WEB前端');
arr.shift();
arr.unshift('尚学堂');
console.log(arr); //['尚学堂', '尚学堂', 'itbaizhan']
4.数组方法_join()
join 方法以指定参数作为分隔符,将所有数组成员连接为一个字符串
返回。如果不提供参数,默认用逗号分隔
var a = [1, 2, 3, 4];
a.join(' ') // '1 2 3 4'
a.join(' | ') // "1 | 2 | 3 | 4"
a.join() // "1,2,3,4"
如果数组成员是 undefined 或 null 或空位,会被转成空字符串
[undefined, null].join('#') // '#'
['a',, 'b'].join('-') // 'a--b'
数组的 join 配合字符串的 split 可以实现数组与字符串的互换
var arr = ["a","b","c"];
var myArr = arr.join("");
console.log(myArr);
console.log(myArr.split(""));
var arr = ["尚学堂","百战程序员"];
var myArr = arr.join("");
console.log(myArr); // 尚学堂百战程序员
console.log(myArr.split("")); //['尚', '学', '堂', '百', '战', '程', '序', '员']
5.数组方法_concat()
concat 方法用于多个数组的合并。它将新数组的成员,添加到原数组
成员的后部,然后返回一个新数组,原数组不变
['hello'].concat(['world']) // ["hello", "world"]
['hello'].concat(['world'], ['!']) // ["hello", "world", "!"]
除了数组作为参数, concat 也接受其他类型的值作为参数,添加到目
标数组尾部。
[1, 2, 3].concat(4, 5, 6) // [1, 2, 3, 4, 5, 6]
应用场景 :上拉加载,合并数据
[1, 2, 3].concat(4, 5, 6,[7,8,9]) //[1, 2, 3, 4, 5, 6, 7, 8, 9]
6.数组方法_reverse()
reverse 方法用于颠倒排列数组元素,返回改变后的数组。注意,该方
法将改变原数组
var a = ['a', 'b', 'c'];
a.reverse() // ["c", "b", "a"]
a // ["c", "b", "a"]
实现一个字符串反转排列
var str = "hello";
str.split("").reverse().join("")
var str = "hello";
str.split("").reverse().join("-"); // 'o-l-l-e-h'
7.数组方法_indexOf()
indexOf 方法返回给定元素在数组中第一次出现的位置,如果没有出
现则返回 -1
var arr = ['a', 'b', 'c'];
arr.indexOf('b') // 1
arr.indexOf('y') // -1
indexOf 方法还可以接受第二个参数,表示搜索的开始位置
['尚学堂', '百战程序员','itbaizhan'].indexOf('尚学堂', 1) // -1
var arr = ["尚学堂", "it", "itbaizhan","it"];
arr.indexOf("it",2) //1
8.Array.sort() 对数组元素进行排序 ,按照字符串 UniCode 码排序,原数组不会改变。
8.1.从小到大
var sortnum = function(a,b){
return a-b;
}
arr.sort(sortnum); // [1,3,4,5,12,55]
8.2从大到小
var sortnum = function(a,b){
return b-a;
}
arr.sort(sortnum); //[55,12,5,4,3,1]
8.3按照数组对象中的某个值进行排序
var arr = [
{name:"小一",age:"18"},
{name:"小二",age:"16"},
{name:"小三",age:"20"},
]
function compare(param){
return function sortAge(a,b){
return a[param]-b[param];
}
}
arr.sort(compare("age"))
age:16,
age:18,
age:20
数组的方法及案例
于 2022-11-30 20:41:10 首次发布