join()
——将数组中的所有元素转化为字符串并连接在一起,返回最后生成的字符串。不修改原始数组
let a = [1, 2, 3];
a.join(); // => "1,2,3",默认使用","隔开元素
a.join("&"); // => "1&2&3",指定分隔符
reverse()
——将数组中的元素逆序,返回逆序后的数组。修改原始数组
let a = [1, 2, 3];
a.reverse().join(); // => "3,2,1",此时的a是[3, 2, 1]
sort()
——将数组元素进行排序,返回排序后的数组。(默认以字母表顺序排序。修改原始数组
let a = new Array("banana", "cherrry", "apple");
a.sort();
let s = a.join(", "); // => "apple, banana, cherrry"
concat()
——创建并返回一个新数组。不修改原始数组
let a = [1,2,3];
a.concat(4, 5); // 返回[1,2,3,4,5]
a.concat([4,5]); // 返回[1,2,3,4,5]
a.concat([4,5],[6,7]); // 返回[1,2,3,4,5,6,7]
a.concat(4, [5, [6,7]]);// 返回[1,2,3,4,5,[6,7]]
a.join(); // "1,2,3",原始值不发生改变
slice()
——对数组进行分离,并返回一个子数组。不修改原始数组
- 第1个参数表示起始索引
- 第2个参数表示结束索引(返回数组不包含结束索引对应的元素值)
如果没有第2个参数,则表示取值到最后一个索引。正值表示正向索引,负值表示反向索引
let a = [1,2,3,4,5];
a.slice(0, 3); // 返回[1,2,3]
a.slice(3); // 返回[4,5]
a.slice(-3, -1); // 返回[3,4],反向索引,从倒数第3个到倒数第1个元素
splice()
——从数组中删除和插入一些元素。修改原始数组
- 前2个参数指定了要删除的数组元素
- 第1个参数表示需要删除元素的起始索引值
- 第2个参数表示需要删除的个数
如果省略则表示删除起始索引后的所有元素
- 后面的参数指定需要插入的元素
let a = [1,2,3,4,5,6,7,8];
a.splice(4); // 返回[5,6,7,8],a是[1,2,3,4]
a.splice(1,2); // 返回[2,3],a是[1,4]
a.splice(1,1); // 返回[4],a是[1]
let b = [1,2,3,4,5];
a.splice(2,0, "a", "b"); // 返回[],a是[1,2, "a","b", 3,4,5]
a.splice(2,2, [1,2], 3); // 返回["a", "b"],a是[1,2, [1,2],3, 3,4,5]
push()
——在数组的尾部添加一个或多个元素,并返回数组新的长度,修改原始数组
pop()
——在数组的尾部删除一个元素,并返回弹出的元素值,修改原始数组
let stack = [];
stack.push(1,2); // stack:[1,2],返回2
stack.push([1,2]); // stack:[1,2, [1,2]],返回3
stack.pop(); // stack:[1,2],返回[1,2]
unshift()
——在数组的头部添加,返回新的数组长度,修改原始数组
shift()
——在数组的头部删除,返回删除的数组元素,修改原始数组
let a = [1];
a.unshift(2); // a:[2, 1],返回2
a.unshift(3, [4,5]); // a:[3, [4,5], 2,1],返回4。
a.shift(); // a:[[4,5], 2, 1],返回3
toString()
——返回一个字符串
[1,2,3].toString(); // "1,2,3"
[1, [2, "c"]].toString(); // "1,2,c"
forEach()
——方法从头至尾遍历数组,为每个元素调用指定的函数
forEach()
没有像for
循环中使用的相应的break
语句,如果要提前终止,可以做放到try/catch
中处理
let data = [1,2,3,4,5];
let sum = 0;
data.forEach(function(value) { sum += value;} );
sum; // => 15
map()
——方法为数组的每个元素调用指定的函数,并返回一个新数组
- 注意:
map()
返回的是新数组,它不修改原始数组
a = [1,2,3];
b = a.map(function(x) {return x*x; }); // b是[1,4,9]
filter()
——方法为数组的每个元素调用指定的函数,并返回筛选出的新数组
a = [5,4,3,2,1];
smallvalues = a.filter(function(x) { return x < 3; });
// smallvalues是[2, 1]
every()
——方法为数组的每个元素调用指定的函数,并返回true或false。当有一个调用返回false时,every()就会返回false;只有当所有调用都是true时,every()
才返回true
some()
——方法为数组的每个元素调用指定的函数,并返回true或false。当有一个调用返回true时,some()就会返回true;只有当所有调用都是false时,some()
才返回false
let a = [1,2,3,4,5];
a.every(function(x) { return x < 10; }); // => true,所有的值<10
a.every(function(x) { return x % 2 === 0}); // => false,不是所有的值都是偶数
a.some(function(x) { return x % 2 === 0; }) // => true,a含有偶数值
reduce()
——对数组的元素对调用指定的函数,并返回最终生成的单个值
- 第1个参数指定调用的函数
- 第2个参数为可选参数,指定传递给函数的初始值,当不指定值时,使用数组的第1个元素作为初始值
let a = [1,2,3,4,5];
let sum = a.reduce(function(x,y) { return x+y; }, 0); //15
let max = a.reduce(function(x,y) { return (x>y)?x:y; }); // 5
indexOf()
——搜索整个数组中给定值的元素,返回找到的第1个元素的索引,如果找不到,则返回-1
- 第1个参数为需要搜索的值
- 第2个参数是可选的,指定开始搜索的索引位置
let a = [0,1,2,1,0];
a.indexOf(1); // =>1: a[1] = 1
a.lastIndexOf(1); // =>3: a[3] = 1
a.indexOf(3); // =>-1: a中没有值为3的元素
Array.isArray()
——判断一个对象是否是数组
Array.isArray([]); // true
Array.isArray({}); // false
内置对象 —— **String、Math、Array **
String 的内置方法
charAt(n)
—— 返回该字符串第 n 位的单个字符。(从 0 开始计数)charCodeAt(n)
—— 返回该字符串第 n 位的单个字符的 ASCII 码lastIndexOf()
—— 跟indexOf()
相似(不过是从后边开始找)split
—— 将字符串按照指定的分隔符分离开,返回一个数组substring(n,m)
—— 返回原字符串从 n 位置到 m 位置的子串substr(n,x)
—— 返回原字符串从 n 位置开始,长度为 x 的子串toLowerCase()
—— 返回把原字符串所有大写字母都变成小写的字符串toUpperCase()
—— 返回把原字符串所有小写字母都变成大写的字符串indexOf()
—— 返回查找到的位置
用法:string_1.indexOf(string_2,n)
; 从字符串string_1
的第n
位开始搜索,查找string_2
,返回查找到的位置,未找到,返回 -1 ( n 可以不填,默认从第 0 位开始查找)Math 的内置方法
abs(x)
—— 返回 x 的绝对值round(x)
—— 返回 x 四舍五入后的值sqrt(x)
—— 返回 x 的平方根ceil(x)
—— 返回大于等于 x 的最小整数floor(x)
—— 返回小于等于 x 的最大整数max(a, b)
—— 返回 a, b 中较大的数min(a, b)
—— 返回 a, b 中较小的数random()
—— 返回大于 0 小于 1 的一个随机数Math 不常用的内置方法
sin(x)
—— 返回 x 的正弦cos(x)
—— 返回 x 的余弦tan(x)
—— 返回 x 的正切acos(x)
—— 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示asin(x)
—— 返回 x 的反正弦值atan(x)
—— 返回 x 的反正切值exp(x)
—— 返回 e 的 x 次幂 (e^x)pow(n, m)
—— 返回 n 的 m 次幂 (nm)log(x)
—— 返回 x 的自然对数 (ln x)Array 的内置方法
join("指定分隔符")
—— 返回一个字符串,把数组元素串起来,元素间用指定分隔符隔开toString()
—— 把数组转为字符串,并返回结果reverse()
—— 使数组元素倒序slice(n,m)
—— 返回子数组,从数组第 n 个元素到第 m 个元素sort(SortFunction)
—— 按照指定的 SortFunction 将数组的元素排序concat(Array_1,Array_2)
—— 用于连接两个或多个数组
相关文章推荐:
对象
Javascript数组操作
JavaScript数组(ES6)