复习系列--javascript数组的常用方法总结
来源:互联网 发布:淘宝特种经营许可申请 编辑:程序博客网 时间:2024/06/06 09:39
我也不知道这个博客我能坚持多久
数组的简单排序
反向数组 array.reverse()
var unorderedNumber = [4, 8, 9, 6, 7, 10, 52, 69, 74, 52, 33, 1, 65, 97, 5];unorderedNumber.reverse();
排序数组 array.sort()
/* 由于数组排序是将数组元素直接转换成字符串比较 将每个数组元素调用toString()进行比较 所以才会出现下面出现的排序方法 */var array = [0,1,5,10,15];array.sort();console.log(array); // 0,1,10,15,5// sort()`方法将传入如下方法// 正确的的升序排列传入如下方法// 升序 function compare(value1, value2) { if (value1 > value2) { return 1; } else if (value1 < value2) { return -1; } else { return 0; } }; // 降序 function compareLow(value1, value2) { if (value1 > value2) { return -1 } else if (value1 < value2) { return 1 } else { return 0 } } var unorderedNumber = [4, 8, 9, 6, 7, 10, 52, 69, 74, 52, 33, 1, 65, 97, 5]; console.log(unorderedNumber.sort(compare)); // [1, 4, 5, 6, 7, 8, 9, 10, 33, 52, 52, 65, 69, 74, 97] console.log(unorderedNumber.sort(compareLow)); // [97, 74, 69, 65, 52, 52, 33, 10, 9, 8, 7, 6, 5, 4, 1]// 如果直接想转换数组的顺序,不介意顺序还是升序的话// 可以直接使用reverse方法console.log(unorderedNumber.reverse()); // [1, 4, 5, 6, 7, 8, 9, 10, 33, 52, 52, 65, 69, 74, 97]
将数组合并 array.concat()
// 在没有传递参数的情况下,将添加的元素添加到原有数组末尾 var array = ['name','sex','hobby']; var putArray = ['lalal','23333','hellow']; var newArray = array.concat(putArray); console.log(newArray) // 'name','sex','hobby','lalal','23333','hellow' var newArray1 = newArray.concat('23333','66666'); console.log(newArray1) // 'name','sex','hobby','lalal','23333','hellow','23333','66666'
插入数组
- 从后面插入数组
// push 数组的这个方法和接下来要讲的unshift方法都是在工作中用到的最多的方法var array = ['love','my','readers'];array.push('thanks');console.log(array); // ["love", "my", "readers", "thanks"]
- 从前面插入数组
var array = ['love','my','readers'];array.unshift('thanks');console.log(array) // ["thanks", "love", "my", "readers"]
删除数组
- 截取数组方法 slice
// 接受一个参数的时候,返回该数组传入值在数组中索引位置的到末尾的所有元素var array = ['res','green','blue','orange'];var array1 = array.slice(1);console.log(array1); // 打印出array从索引1直至结束的所有元素,包含起始位置的元素// 接受两个参数var array2 = array.slice(0,2);console.log(array2); // 打印出array数组其实索引为0和结束索引为2的元素。不包含结束索引上面的元素。// 注意: 如果传入的参数是负数的话,则会自动将将该参数加该数组的长度才是实际传入该方法的数值
- 删除数组方法 splice
// splice方法有三种,可以在指定位置插入指定元素;可以在指定位置替换元素;最后就是删除指定位置的指定数量// 我只说说我工作中用到最多的删除数组,因为我写angular的时候。如果直接将一个scope变量赋值给一个空的数组,有时候会出现数组不更新的情况。所以我一般处理清空数组对象的方法是如下代码var array = ['res','green','blue','orange']; array.splice(0,array.length);// 这个代码什么意思呢?这个方法的第一个参数是要删除数组元素的起始索引位置,第二个参数是删除的元素个数。这样子就很好理解这个写法了。
- 位置方法
// 这个方法也是我最近才开始用,但是发现超级方便的一个方法 indexOf(),参数是传入一个数组的元素。它会自动查找,如果你传入的参数是该数组的元素则返回该元素在该数组的索引。反之如果传入的元素不是该数组的元素。则返回-1var array = [1,2,3,4,5,6,7,8,9];console.log(array.indexOf(2)); // 打印出2在该数组中的索引 1console.log(array.indexOf(12)); // 因为找不到12 则打印出来-1
- 迭代方法
// every() && some() 返回Boolean值 以下是用法var array = [1,2,3,4,5,6,7,8,9,10]; var result = array.every(function(item,index,array){ return (item > 2)});console.log(result); // false var result1 = array.some(function(item,index,array){ return (item > 2)});console.log(result1); // true// 这两个方法类似于且和或的关系,当然从单词意思也可以看出,some就是一些嘛,every就是每个嘛。一个是满足部分条件,一个是满足所有条件。// filter 返回所有满足条件的新的数组var array = [1,2,3,4,5,6,7,8,9,10];var result = array.filter(function(item,index,array){ return (item > 3)});console.log(result); // [4, 5, 6, 7, 8, 9, 10];// 批量操作数组 map()var array = [1,2,3,4,5,6,7,8,9,10];var result = array.map(function(item,index,array){ return (item * 3)});console.log(result); // [3, 6, 9, 12, 15, 18, 21, 24, 27, 30];// 还有就是数组的归并方法 reduce()和reduceRight() 我不做讲了。。至少我现在工作暂时还没有用到呢。有兴趣的可以去了解下。
我要睡觉了,明天把构建之法看看。虽然不是工具书,但是感觉看完也会有蛮多的收获的吧。这种复习系列我会定期更新下去。今天回顾发现还是学到了不少东西。所以,一边学习一边写博客是多么明智的选择。奋斗!!!
阅读全文
0 0
- 复习系列--javascript数组的常用方法总结
- javascript数组的常用方法总结
- Javascript数组的常用方法总结一
- Javascript数组的常用方法总结二
- JavaScript中数组的常用方法总结
- JavaScript数组常用方法总结
- JavaScript中数组Array.prototype的常用的方法总结
- 总结javascript数组的14个常用方法(带实例)
- javascript数组去重的三种常用方法总结
- javascript数组去重的三种常用方法总结
- JavaScript数组操作常用方法的详细总结
- JavaScript数组的常用方法
- JavaScript的数组常用方法
- JavaScript数组的常用方法
- javascript 中数组常用方法总结
- 数组常用方法的总结
- 数组常用方法的总结
- javascript数组常用方法
- Unity3D ScrollView跳转功能
- mysql5.7初始化后连接mysql的时候报:Your password has expired.
- pat乙级真题 1068. 万绿丛中一点红(20)
- [Vue]不能使用索引直接修改数组,但可以使用索引更新对象数组内的属性
- [JS] 改自网络:单行任意数量条公告循环滚动代码
- 复习系列--javascript数组的常用方法总结
- Hibernate入门(四)之持久化对象的三种状态
- Slim中的集合类Collection
- 使用原生js读取树形结构对象构筑多级结构菜单
- hibernate详细脑图
- 全面提高你的搜索技巧
- Python语言入门(八)动态语言中的类与对象初探
- IT界的后门事件
- 入门python3爬虫需要掌握的知识与技巧