JS基础入门篇(十)— 数组方法
1.join
作用: 将数组通过指定字符拼接成字符串。
语法: string arr.join([separator = ',']);
参数: separator可选,如果省略的话,默认为一个逗号。如果 seprator 是一个空字符串,那么数组中的所有元素将被直接连接。
返回值: 拼接后的字符串。
<script>
var arr=[2,3,4,5];
console.log(arr.join());//"2,3,4,5"
console.log(arr.join(""));//"2345"
console.log(arr.join("+"));//"2+3+4+5"
console.log(arr);//[2,3,4,5]
</script>
2.push
作用:往数组的末尾添加一个或者多个元素。
语法:number arr.push(element1, ..., elementN);
参数:elementN,一个或多个元素。
返回值:新数组的length。
注意:会修改原数组。
<script>
var att=[1,2,3,4];
console.log(att.push("a","b"));//6
console.log(att);//[1,2,3,4,"a","b"];
</script>
3.unshift
作用:往数组的头部添加一个或者多个元素。
语法:number arr.push(element1, ..., elementN);
参数:elementN,一个或多个元素。
返回值:新数组的length。
注意:会修改原数组。
<script>
var att=[1,2,3,4];
console.log(att.unshift("a","b"));//6
console.log(att);//["a","b",1,2,3,4];
</script>
4.pop
作用: 删除数组最后 一个 元素。
语法: mixed arr.pop();
返回值: 被删除的那一个元素。
注意:会修改原数组。
<script>
var arr=[1,2,3,4];
console.log(arr.pop());//4
console.log(arr);//[1,2,3]
</script>
5.shift
作用: 删除数组 第一个 元素。
语法: mixed arr.pop();
返回值: 被删除的那一个元素。
注意:会修改原数组。
<script>
var arr=[1,2,3,4];
console.log(arr.shift());//1
console.log(arr);//[2,3,4]
</script>
6.concat
作用: 将传入的数组或非数组值与原数组合并,组成一个新的数组并返回.
语法: array array.concat(value1, value2, ..., valueN);
参数: valueN是指需要与原数组合并的数组或非数组值.
返回值: 合并后的数组
注意: 不会修改原数组的内容。
<script>
var att=[1,2,3];
var attO=["a","b"];
var attT=[5,true];
console.log(att.concat(10,attO,attT));//[1,2,3,10,"a","b",5,tru]
console.log(att);//[1,2,3]
</script>
7.reverse
作用:颠倒数组中元素的位置.
语法: array arr.reverse()
返回值: 颠倒顺序后的数组
注意: 会改变原数组.
<script>
var arr = [1,2,3,6,5,4];
var res = arr.reverse();
res.push( "a" );
console.log( res );//[4,5,6,3,2,1,"a"]
console.log( arr );//[4,5,6,3,2,1,"a"]
</script>
8.slice
作用:截取**数组中一部分,并返回这个新的数组.
语法: array arr.slice([begin[,end]]);
返回值: 截取后的新的数组
注意: 包含起始位置,不包含结束位置,不会改变原数组.
什么都不传入,则是原数组。
<script>
var arr = ["a","b","c","d"];
// var res = arr.slice( 1,3 );//["b","c"]
// var res = arr.slice( 3,1 );//[]
var res = arr.slice( -3,-1 );//["b","c"]
var res = arr.slice();//["a","b","c","d"]
console.log( res );
console.log( arr );//["a","b","c","d"]
</script>
9.splice
作用:用新元素替换旧元素,以此修改数组的内容
语法:array array.splice(start, deleteCount[, item1[, item2[, ...]]])
参数:
- start 起始位置
- deleteCount 删除长度
- item 添加的内容
返回值: 由被删除的元素组成的一个数组
注意:修改了原数组的内容。
<script>
var att="Liangzhifang".split("");
console.log(att.splice(2,4,["a"]));//["a","n","g","z"]
console.log(att);//["L","i",["a"],"h","i","f","a","n","g"]
</script>
10.sort
作用: 对数组的元素进行排序。
语法: array arr.sort([compareFunction]);
参数: compareFunction可选。用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。
返回值: 排序后的数组.
<script>
//当什么都不传入的时候,sort()默认由小到大排列。
var attr=[9,5,4,3,2];
console.log(attr.sort());//[2, 3, 4, 5, 9]
//传入function的时候,sort()内的function返回值大于0,由小到大排列。
var attrO=[9,5,4,3,2];
console.log(attrO.sort(function () {
return 1;
}));//[2, 3, 4, 5, 9]
//传入function的时候,sort()内的function返回值小于或者等于0,数组序列不变。
var attrT=[9,5,4,3,2];
console.log(attrT.sort(function () {
return -1;
}));// [9, 5, 4, 3, 2]
//由于sort内部是随机抽取两个值,我们在利用function函数的返回值,大于0的时候,交换位置。小于或者等于0的时候不变,来排序。
//以下是由小到大排序
var attrTh=[9,5,4,3,2];
console.log(attrTh.sort(function (a,b) {
return a-b;
}));// [2, 3, 4, 5, 9]
//以下是由大到小排序
var attrF=[9,5,4,3,2];
console.log(attrF.sort(function (a,b) {
return b-a;// [9, 5, 4, 3, 2]
}));
</script>
JS基础入门篇(十)— 数组方法的更多相关文章
- JS基础入门篇(三十五)—面向对象(二)
如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
- JS基础入门篇(十二)—JSON和Math
1.JSON JSON: 对象格式的字符串 轻量的数据传输格式 注意事项: 键名 需要 使用 双引号 包起来 JOSN有两个方法:JSON.parse和 JSON.stringify. JSON.pa ...
- JS基础入门篇(三十四)— 面向对象(一)
1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...
- JS基础入门篇(二十四)—DOM(下)
1.offsetLeft/offsetTop offsetLeft/offsetTop : 到定位父级节点的距离. <!DOCTYPE html> <html lang=" ...
- JS基础入门篇(三十六)—面向对象( 三 )
1.class class es6 中 为 关键字用来声明 一个 类 1.只能通过new调用 2.不存在变量提升 3.多个方法之间直接书写,不需要,隔开 4.类的方法是直接定义在类的原型上的 5.定义 ...
- JS基础入门篇(二十)—事件对象以及案例(二)
案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang=" ...
- JS基础入门篇(二十四)—DOM(上)
1.常用的节点类型,nodeType,attributes,childNodes. 1.元素节点 - 1 2.属性节点 - 2 3.文本节点 - 3 4.注释节点 - 8 5.文档节点 - 9 查看节 ...
随机推荐
- 项目组件:分页(pagination)
此分页组件可以辅助完成项目中前端页面分页展示 """ 分页组件应用: 1. 在视图函数中 queryset = models.Issues.objects.filter( ...
- C++编译/编辑器对OIer的必要功能
(没有引战的意思,如果有不同意见可以评论区发言,只是写出我目前的情况) 作为一个C++ OIer肯定是用过Dev的,因为学校推荐啊我也没有办法.都知道Dev又丑又没有代码补全,但是却是最最最适合OIe ...
- 微信小程序mpvue-动态改变navigationBarTitleText值
通过JS动态 改变navigationBarTitleText的值 能否通过JS动态改变navigationBarTitleText的值? 方法一:可以在onLoad方法中通过wx.setNaviga ...
- 一天学一个Linux命令:第二天 cd pwd
文章更新于:2020-03-08 注:本文参照 man pwd 手册,并给出使用样例. 文章目录 一.命令之 `cd` 和 `pwd` 1.命令介绍 2.语法格式 3.使用样例 4.pwd 参数 5. ...
- android所有颜色
<?xml version="1.0" encoding="utf-8" ?> <resources> <color name=& ...
- CH5105 Cookies (线性dp)
传送门 解题思路: 贪心的想,贪婪值越大的孩子应该分得更多的饼干,那么先sort一遍在此基础上进行dp.最直观的方向,可以设dp[i][j]为前i个孩子一共分得j块饼干的怨恨最小值.然后转移第i+1个 ...
- python3(八) function
# Python 常用内置函数 https://docs.python.org/3/library/functions.html#abs print(help(abs)) # Return the a ...
- 理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码
目录(?)[-] 官方文档 类装载 两种装载方法的区别 不同的类装载器 是否实例化类 在jdbc链接数据库中的应用 资源 原文地址:http://yanwushu.sinaapp.com/clas ...
- 对于之间不平凡的我,为什么会选择IT!(上)
我相信有很多小伙伴看了我发布的文章后,不知道对大家有无启发,在这里我都非常感谢大家的收看,因为现在收疫情影响,我也看到很多朋友私信我,看你经历这么多是经历了什么,如果大家在上一篇发现的时候会看见我父亲 ...
- 选择IT行业的自我心得,希望能帮助到各位!(一)
我记得当时我还在读书的时候,也是卡在高三在后面,纠结我该怎么选择专业,一边顶着高考的压力又担心这担心那的,前怕狼后怕虎,一直犹犹豫豫,知道有一天我就听到谁谁谁的哥哥学IT老牛逼了,一个月多少多少钱,买 ...