最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS中常用到数组操作

来源:动视网 责编:小采 时间:2020-11-27 19:47:14
文档

JS中常用到数组操作

JS中常用到数组操作:改变原始数组的操作方法:push:向数组末尾添加元素,并返回新的长度pop:删除最后一个并返回删除的元素unshift:向数组开头添加元素,并返回新的长度shift:将第一个元素删除并且返回删除元素,空即为undefinedreverse:颠倒数组顺序sort:对数组排序s
推荐度:
导读JS中常用到数组操作:改变原始数组的操作方法:push:向数组末尾添加元素,并返回新的长度pop:删除最后一个并返回删除的元素unshift:向数组开头添加元素,并返回新的长度shift:将第一个元素删除并且返回删除元素,空即为undefinedreverse:颠倒数组顺序sort:对数组排序s


  1. push:向数组末尾添加元素,并返回新的长度

  2. pop:删除最后一个并返回删除的元素

  3. unshift:向数组开头添加元素,并返回新的长度

  4. shift:将第一个元素删除并且返回删除元素,空即为undefined

  5. reverse:颠倒数组顺序

  6. sort:对数组排序

  7. splice:删,增,替换数组元素,返回被删除数组,无删除则不返回

不会改变原始数组的操作方法:
  1. concat:连接多个数组,返回新的数组

  2. join:将数组中所有元素以参数作为分隔符放入一个字符

  3. slice:返回选定元素

  4. map(es6):数组映射为新的数组

  5. filter(es6):数组过滤,返回所有通过方法判断后(判断为true时)生成的新数组

  6. forEach:数组遍历,没有返回值

  7. every(es6):对数组中的每一项运行给定函数,如每一项均为true时返回true,否则返回false

  8. some(es6):数组中的的元素运行给定函数,如其中有一项为true时返回true,此时剩余的元素不会再执行检测,如果所以都为false则返回false

  9. find(es6):寻找数组中符合测试方法(函数)条件的第一个元素,并且返回该元素

  10. reduce(es6):方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

  11. indexOf: 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

  12. includes(es7):方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。


使用

// 连接数组
//concat方法
var array1 = ['a', 'b', 'c'];
var array2 = ['d', 'e', 'f'];
array1.concat(array2); // ["a", "b", "c", "d", "e", "f"]
// 展开运算符方法
[...array1, ...array2] // ["a", "b", "c", "d", "e", "f"]



//循环
var arr = ['a', 'b', 'c'];
arr.forEach(function(element, index) {
 console.log(element + ',' + index);
});
// a , 0
// b , 1
// c , 2

// 箭头函数写法
arr.forEach((element,index) => console.log(element,index));



//循环映射(map)
var numbers = [1, 5, 10, 15];
let doubles = numbers.map((item, index) => item * 2);
// [2, 10, 20, 30]

// 数组是否元素包含(includes)
let a = [1, 2, 3];
a.includes(2);
// true
a.includes(4);
// false



//查找元素(find)
//查找数组中大于等于15的元素,并且返回第一个元素
var ret = [12, 5, 8, 130, 44].find(function(element) {
 return element >= 15; // 方法需要有返回值,判断得出true或者false,返回为true的元素
 }
);
// 130



// 过滤数组(filter)
// 过滤数组中大于等于10的元素并且返回新数组
var filtered = [12, 5, 8, 130, 44].filter(function(value) {
 return value >= 10; // 方法需要有返回值,判断得出true或者false,返回为true的元素
 }
);
// [12, 130, 44]



// 循环判断(every) 为每个元素都执行
var passed = [12, 5, 8, 130, 44].every(function (element, index, array) {
 return (element >= 10);
});
// false


// 循环判断(some) 遇到返回值为true的就停止执行
var passed = [12, 5, 8, 130, 44].some(function (element, index, array) {
 return (element >= 10);
});
// true



// 数组截取(slice) 不改变原数组
var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
animals.slice(2) // ["camel", "duck", "elephant"] 返回数组从下标2开始直到结尾的一个新数组
animals.slice(2, 4) //["camel", "duck"] 返回数组从下标2到4之间到一个新数组



// 数组减接(splice) 改变原数组
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.splice(2, 0, 'drum'); // ["angel", "clown", "drum", "mandarin", "sturgeon"] 0为删减个数,在索引为2的位置不删减并且插入'drum'
myFish.splice(2, 1); // ["angel", "clown", "mandarin", "sturgeon"] 从索引为2的位置删除1项(也就是'drum'这一项)



// 使用 lastIndexOf
var array = [2, 5, 9, 2];
var index = array.lastIndexOf(2); // index === 3
var index = array.lastIndexOf(8); // index === -1



// 数组转字符串(join)
let a = ['Wind', 'Rain', 'Fire'];
a.join() //默认为逗号分隔
// 'Wind,Rain,Fire'
a.join("-") // 用 - 分隔
// 'Wind-Rain-Fire'



// es6 数组去重
let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
let set = new Set(array);
let newarr = Array.from(set);
// newarr === [1, 2, 3, 4, 5]

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

前端中怎样设置cookie

前端中如何阻止事件传播

文档

JS中常用到数组操作

JS中常用到数组操作:改变原始数组的操作方法:push:向数组末尾添加元素,并返回新的长度pop:删除最后一个并返回删除的元素unshift:向数组开头添加元素,并返回新的长度shift:将第一个元素删除并且返回删除元素,空即为undefinedreverse:颠倒数组顺序sort:对数组排序s
推荐度:
标签: 操作 常用 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top