Javascript数组的常用方法
1.join()
Array.join()方法将所有元素的数组中的字符串和一起返回最后一个生成的字符串,你可以自己指定一个分隔符号,如果你不指定,默认使用逗号
var arr = {1,2,3};
Console.log((arr.join)); / / 1,2,3
console.log(arr.join()); / / 1-2-3
var =一个新数组(10);一个空数组的长度,由下面的10个字符串组成
console.log(a.join()); / /
2.reverse()
Array.reverse()方法反转数组中元素的顺序相反的顺序,返回一个数组(返回的数组是数组本身,原来已经改变了)。
var arr = {1,2,3};
Arr.reverse();
Console.log((arr.join)); / / 3,2,1
所以,如果你想反转一个字符串,你可以这样做。
var str =ABCDEFG;
console.log(str.split(反向)(加入)()); / / gfedcba返回新的价值
console.log(STR); / / ABCDEFG当然,原来不会改变。
3.sort()
Array.sort()方法排序的数组中的元素并返回有序阵列。
当没有参数时,默认是按顺序排列的,即从小到大。当然,您也可以直接将比较函数添加到排序中。
var arr = {第1、4、7 };
Arr.sort();
console.log(ARR); / / {第1、4、7 }
Arr.sort(功能(A,B){
返回A-B; / /
});
console.log(ARR); / / {第1、4、7 }
Arr.sort(功能(A,B){
返回B-A; / /从大到小
});
console.log(ARR); / / { 7,4,1 }
VaR Num =新的阵列(,,有6,五);
(num.sort); / /大小排序
console.log(努姆); / / 五{
Num.sort(函数(S,T){
创建一个s.tolowercase();
var b = t.tolowercase();
如果(b)返回- 1;
如果(a)返回1;
返回0;
});
console.log(努姆); / / 五{
4.concat()
Array.concat()方法创建并返回一个新的元素,包括对原始数组的数组元素concat()和()的指定位置的各参数。
如果这些参数中的任何一个都是数组本身,则连接是数组的元素,而不是数组本身。
注意,然而,concat()不递归展开数组的数组。Concat()不修改数组被称为。
var arr = {1,2,3};
console.log(arr.concat(4,5)); / / { 1, 2, 3,4, 5 }
console.log(ARR); / / { 1, 2, 3 }
console.log(arr.concat({ 4,5 })); / / { 1, 2, 3,4, 5 }
console.log(arr.concat({ } { } 4、5、6、7)); / / { 1, 2, 3,4,5、6、7 }
console.log(arr.concat({ 4,5 } } { },{ 6,7)); / / { 1, 2, 3,4,{ 5 },{ 6, 7 } }
console.log(arr.concat(4,{ 5 } },{ 6,7)); / / { 1, 2, 3,4, 5 } },{ 6,7
5.slice()
的array.slice()方法返回一个片段或一个数组指定的数组,它的两个参数指定开始和结束的片段的位置(A,B),分别返回是一个数组元素,不包括B从A到B.
如果只有一个参数(a),则它表示从a到数组结尾的元素。
如果负数(a)出现在参数中,则表示与数组中a相对的最后一个元素的位置。例如,(- 3)表示倒数第三个元素。负数首先被转换,然后根据范围规则找到。
他还返回一个新数组,不修改原始数组。
var arr = { 12345 };
console.log(arr.slice(0,3)); / / { 1, 2, 3 }
console.log(ARR); / / { 1, 2, 3,4, 5 }
console.log(arr.slice(3)); / / { 4, 5 }
console.log(arr.slice(- 3)); / / { 3, 4, 5 }
console.log(arr.slice(- 3,- 1)); / / { 3, 4 }
console.log(arr.slice(2,1); / / { 3, 4 })
6。剪接()
的array.splice()方法是插入或删除一个数组中的元素的一种常规方法。它修改原始数组的值,并返回一个新的序列
拼接()的第一个参数指定插入或删除的起始位置,第二个参数指定从数组中删除的元素的数量。
var arr = { 1,2,3,4,5,6,7,8 };
console.log(arr.splice(4)); / / { 5, 6, 7,8 }
console.log(ARR); / / { 1, 2, 3,4 }
console.log(arr.splice(1,2)); / / { 2, 3 }
console.log(ARR); / / { 1, 4 }
头两个参数指定了需要删除的数组元素,按照任意数量的参数指定需要插入数组中的元素,并开始从第一个参数表示的位置插入。
不像上concat()()(),接头直接插入数组中,如下面的{1,2}
var arr = { 12345 };
console.log(arr.splice(2,0,A,B)); / / { }
console.log(ARR); / / { 1, 2,
console.log(arr.splice(2,1,{1,2},3)); / / } {
console.log(ARR); / / { 1, 2,{ 1, 2 },3,B
7.push()流行()()()位置偏移
将这些方法视为堆栈操作:前两个常规堆栈操作,而后两个是反向堆栈操作。
推()和位置()从后面和前面的数组添加元素,并返回新数组的长度
弹出()和移位()删除数组中的最后一个和最高级元素,并返回已删除的元素。
var arr = { };
console.log(arr.push(1,2,3)); / / 3
console.log(ARR); / / { 1, 2, 3 }
Console.log((arr.pop)); / / 3
console.log(ARR); / / {1,2}
console.log(arr.push({ 4,5 })); / / 3
console.log(ARR); / / { 1, 2 },{ 4, 5 }
var arr = { };
console.log(arr.unshift(1,2,3)); / / 3
console.log(ARR); / / { 1, 2, 3 }
Console.log((arr.shift)); / / 1
console.log(ARR); / / { 2, 3 }
console.log(arr.unshift({ 4,5 })); / / 3
console.log(ARR); / / { 2, 3 } { 4, 5 },
(2)在ecmascript5阵列的方法
大多数阵列方法都有统一的通用规则,它们都不能对原始数组进行修改。
大多数方法的第一个参数接收一个函数,并将函数一次调用到数组的每个元素(或一些元素)。
如果是稀疏数组,则不存在元素不调用传递函数;
在大多数情况下,通常调用的函数使用三个参数:数组元素、元素索引和数组本身,通常后面的两个参数不需要填写。
除了第一个参数(函数),还有第二个参数(可选)。如果存在第二个参数,则调用的函数将被视为第二个参数的方法。
也就是说,当调用函数时传入的第二个参数被用作该关键字的值。
1.foreach()
此方法从第一到最后遍历数组,每个函数调用指定数组。
VaR数据= { 12345 };
var总和= 0;
data.foreach(函数(值){ / /只使用第一个参数(功能),功能也只使用第一个参数数组元素
总和=值;
});
console.log(总和); / / 15
console.log(数据); / / { 1, 2, 3,4, 5 }
VaR数据= { 12345 };
var总和= 0;
data.foreach(功能(价值、项目、数据){三参数 / /呼叫功能
数据{项目}值*值;
});
console.log(数据); / / { 1, 4, 9,16, 25 }
2.map()
此方法将调用数组中的每个元素传递给指定的函数,并返回包含函数返回值的数组。
VaR数据= { 12345 };
VaR data1 = data.map(函数(值){)
返回+ +值;
});
console.log(数据); / / { 1, 2, 3,4, 5 }
console.log(资料); / / { 2, 3, 4,5, 6 }
3.filter()
该方法返回的数组元素是调用数组的一个子集,传递的函数在逻辑上使用,函数返回true或false。
如果返回值为true或可以转换为true值,则传递给决策函数的元素是该子集的成员,它将作为返回值添加到数组中。
VaR数据= { 12345 };
VaR data1 = data.filter(函数(值){)
返回值< = 3;
});
VaR数据= data.filter(函数(值){)
返回值> 3;
});
console.log(数据); / / { 1, 2, 3,4, 5 }
console.log(资料); / / {1,2,3}
console.log(数据); / / { 4,5 }
4.every()和()
顾名思义,每个()是一个数组,当所有元素满足函数的指定条件时返回true;当某个项满足时,一些()返回true。
VaR数据= { 12345 };
VaR data1 = data.every(函数(值){)
返回值< 4;
});
VaR数据=数据(函数(值){)
返回值> 4;
});
console.log(数据); / / { 1, 2, 3,4, 5 }
console.log(资料); / /假
console.log(数据); / /真的
5.reduce()和()reduceright
这两种方法使用指定的函数组合数组元素来生成一个值。
减少()有两个参数:第一个是执行简化操作的功能,也就是说,在某种程度上,将两个值简化为一个值,并返回还原值。
第二个参数是可选的,用于传递第一个参数函数作为初始值。如果第二个参数不是,则初始值用于数组的第一个元素值。
VaR数据= { 12345 };
VaR和= data.reduce(功能(A,B){
返回A+;
});
VaR sum1 = data.reduce(功能(A,B){
返回A+;
},5);
VaR最小= data.reduce(功能(A,B){
返回(a)b;
});
console.log(数据); / / { 1, 2, 3,4, 5 }
console.log(总和); / / 15
console.log(语); / / 20
Console.log(min); / / 1
在求和中没有第二个参数,所以初始值是第一个数组元素,第一步1 + 2=3,第二步3 + 3 = 6…最后15
有语中二参数,所以初始值是5,第一步是5 + 1 = 6,第二步6 + 2 = 8…最后20。
ReduceRight()与()减少,而与此不同的是,它处理阵列从高到低(从右到左)的数组的索引,而不是正常的由低到高。
VaR数据= {'a',B,C};
var str = data.reduce(函数(x,y){ / /订单
返回x y;
});
var str1 = data.reduceright(函数(x,y){ / /反向
返回x y;
});
console.log(数据); / / { 1, 2, 3 }
console.log(STR); / / ABC
console.log(str1); / / CBA
6.indexof()和()字符串
这个方法用给定的值搜索整个数组中的元素,返回所找到的元素的索引,找出一个元素,然后返回到1…
从一头到一头的尾巴
VaR数据= {'a',B,A,C,A };
console.log(data.indexof(a)); / / 0
console.log(data.indexof(会)); / / 1
console.log(data.lastindexof(a)); / / 4
console.log(data.lastindexof(A,2)); / / 2从倒数第二开始
console.log(data.lastindexof(A,1)); / / 0次
7。阵列式ISArray()
判断对象是否是数组。
console.log(array.isarray; / /真实({ }))
console.log(Array.isArray({ }) / /假);
模拟/以上
无功isarray1 =功能。ISArray | |功能(o){
返回类型O =对象
object.prototype.tostring.call(O)={对象数组};
};
console.log(isarray1; / /真实({ }))
console.log(isarray1({ }) / /假);