网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于javascript数组操作方法总结一览(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
ECMAScript为操作已经包含在数组中的项提供了很多方法。这里本人总结一下自己对这些方法的理解,如此之多的方法中,我首先已是否会改变原数组做为分类标准,逐个解释一下每一个方法。
一、不会改变原数组
1. concat()
使用方法:array.concat(array2,array3,...,arrayX)
返回值: 返回一个新的数组
concat()方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。
在没有传递参数的情况下,它只是复制当前数组并返回副本;如果传递的值不是数组,这些值就会简单地添加到结果数组的末尾。
var arr1 = [1,2,3];
var arr2 = arr1.concat(4,[5,6]);
console.log(arr1); // [ 1, 2, 3 ]
console.log(arr2); // [ 1, 2, 3, 4, 5, 6 ]
2. join()
使用方法:array.join(separator)
返回值: 返回一个字符串
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用','号分割,不改变原数组。
var arr1 = [1,2,3];
var arr2 = arr1.join();
console.log(arr1); // [ 1, 2, 3 ]
console.log(arr2); // 1,2,3之前接触过一个功能是需要生成多个连续的*,一开始是直接使用for循环可以做到,后面了解了join()方法后,发现其实一句话就可以弄好了。var arr3 = "";
for(let i = 0; i < 15; i ++) {
arr3 = arr3 + "*";
}
console.log(arr3); // ***************
var arr4 = new Array(16).join("*");
console.log(arr4); // ***************3. slice()
使用方法:array.slice(start, end)
返回值: 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素
slice()接受一或两个参数,即要返回项的起始和结束位置。
在只有一个参数的情况下,slice()方法返回从该参数指定位置到当前数组末尾的所有项;
如果有两个参数,改方法返回起始和结束位置之间的项——但不包括结束位置的项。
如果参数为负数,规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
var arr1 = [1,2,3,4,5,6];
var arr2 = arr1.slice(1);
var arr3 = arr1.slice(2,4);
var arr4 = arr1.slice(-4,-2); // 等价于 arr1.slice(2,4);
console.log(arr1); // [ 1, 2, 3, 4, 5, 6 ]
console.log(arr2); // [ 2, 3, 4, 5, 6 ]
console.log(arr3); // [ 3, 4 ]
console.log(arr4); // [ 3, 4 ]对于伪数组转换为标准数据就用到了这个方法 Array.prototype.slice.call(arguments)4. some()
使用方法:array.some(function(currentValue,index,arr),thisValue)
返回值: 布尔值
或 ==> some()对数组中的每一项运行给定的函数,如果该函数对任一项返回true,剩余的元素不会再执行检测;如果没有满足条件的元素,则返回false。
function compare(item, index, arr){
return item > 10;
}
[2, 5, 8, 1, 4].some(compare); // false
[20, 5, 8, 1, 4].some(compare); // true5. every()
使用方法:array.every(function(currentValue,index,arr),thisValue)
返回值: 布尔值
和 ==> every()对数组中的每一项运行给定的函数,如果该函数对每一项返回true,剩余的元素不会再执行检测;如果其中有一个没有满足条件的元素,则返回false。
function compare(item, index, arr){
return item > 10;
}
[20, 50, 80, 11, 40].every(compare); // true
[20, 50, 80, 10, 40].every(compare); // false5. filter()
使用方法:array.filter(function(currentValue,index,arr), thisValue)
返回值: 返回数组
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
对数组的每一项都运行给定的函数,返回结果为true的项组成的数组。
function filterArr(item, index, arr){
return item > 4;
}
[2, 5, 8, 1, 4].filter(filterArr); // [5,8]6. map()
使用方法:array.map(function(currentValue,index,arr), thisValue)
返回值: 返回数组
map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
function mapArr(item, index, arr){
return item * 4;
}
[2, 5, 8, 1, 4].map(mapArr); // [8,20,32,4,16]经常笔试和面试都会考到的一道题 ——实现一个map
数组方法,以下是本人自己写的一个方法var arr = [2, 4, 8, 6, 1];
Array.prototype.myMap = function (fn, thisValue) {
var arr = this,
len = arr.length,
tmp = 0,
result = [];
thisValue = thisValue 关键词:javascript数组设置办法总结列表(附示例)