javaScript基本使用api
基本方法
isArray() 判断数组
isArray() 方法用于判断是否是数组(有兼容性)
语法:Array.isArray(arr)
返回值:是数组,返回true。不是数组,返回false。
if (Array.isArray([1,2,3])) {
// true
} else {
// false
}
toString() 转字符串
toString() 方法可把数组转换为字符串,并返回结果。
语法:array.toString()
返回值:字符串
var arr = ['a','s','d']
var str = arr.toString()
console.log(str) // a,s,d
join() 分割
join() 方法用于把数组中的所有元素放入一个字符串。
语法:array.join(separator)
separator:可选。分割符,默认英文逗号。
返回值:字符串
var arr = ['a','s','d']
var str = arr.join()
console.log(str) // a,s,d
pop() 删除数组最后一项
pop() 方法用于删除并返回数组的最后一个元素。
语法:arrayObject.pop()
返回值:数组长度减1,并返回删除的元素的值。如果是空数组,返回undefined。
var arr = ['a','s','d']
var str = arr.pop()
console.log(str) // d
console.log(arr) // a,s
push() 数组尾部添加元素
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法:arrayObject.push(newelement1,newelement2,....,newelementX)
newelement1:必需。要添加到数组的第一个元素。
newelement2:可选。要添加到数组的第二个元素。
newelementX:可选。可添加多个元素。
返回值:新的长度
var arr = ['a','s','d']
var len = arr.push('f')
console.log(len) // 4
console.log(arr) // a,s,d,f
shift() 删除数组第一项
shift() 方法用于删除并返回数组的第一个元素。
语法:arrayObject.shift()
返回值:数组长度减1,并返回删除的元素的值。如果是空数组,返回undefined。
var arr = ['a','s','d']
var str = arr.shift()
console.log(str) // a
console.log(arr) // s,d
unshift() 数组开头添加元素
unshift() 方法可向数组的开头添加一个或多个元素,并返回新的长度。
语法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
newelement1:必需。要添加到数组的第一个元素。
newelement2:可选。要添加到数组的第二个元素。
newelementX:可选。可添加多个元素。
返回值:新的长度
var arr = ['a','s','d']
var len = arr.unshift('f')
console.log(len) // 4
console.log(arr) // f,a,s,d
reverse() 颠倒数组
reverse() 方法用于颠倒数组中元素的顺序。
返回值:排序的原数组。
var arr = ['a','s','d']
arr.reverse()
console.log(arr) // d,s,a
sort() 排序
sort() 方法用于对数组的元素进行排序。
语法:arrayObject.sort(sortby)
sortby:可选。规定排序顺序,必须是函数。默认按字母编码顺序排序。
返回值:排序的原数组。
var arr = ['a','c','d','b']
arr.sort()
console.log(arr) // a,b,c,d
concat() 合并数组
concat() 方法用于合并两个或多个数组。
语法:arrayObject.concat(arrayX,arrayX,......,arrayX)
arrayX:必需。该参数可以是具体的值,可以是数组对象,也可以是任意多个。
返回值:返回一个新的数组。不会改变原数组。
var arr1 = ['a','b']
var arr2 = ['c','d']
var arr3 = arr1.concat(arr2)
console.log(arr1) // a,b
console.log(arr2) // c,d
console.log(arr3) // a,b,c,d
slice() 提取
slice() 方法可从已有的数组中返回选定的元素。
语法:arrayObject.slice(start,end)
start:必需。规定从何处开始选取(包含)。
end:可选。规定从何处结束选取(不包含)。
返回值:返回一个新的数组。不会改变原数组。
var arr = ['a','b','c','d','e']
var newArr = arr.slice(1,3)
console.log(arr) // a,b,c,d,e
console.log(newArr) // b,c
splice() 添加、删除、替换
splice() 方法用于添加、删除、替换数组元素,返回被删除的项目。
语法:arrayObject.splice(index,howmany,item1,.....,itemX)
index:必需。整数,规定添加/删除项目的位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1,.....,itemX:可选。向数组添加/替换的新项目。
返回值:删除的数组。
// 删除元素
var arr = ['a','b','c','d','e']
arr.splice(2,1)
console.log(arr) // a,b,d,e
// 删除元素 替换新元素
var arr = ['a','b','c','d','e']
var del = arr.splice(1,1,'f')
console.log(arr) // a,f,c,d,e
console.log(del) // b
// 添加新的元素
var arr = ['a','b','c','d','e']
arr.splice(1,0,'f')
console.log(arr) // a,f,b,c,d,e
indexOf() 查找首次位置
indexOf() 方法可返回一个指定元素在数组中第一次出现的位置。
语法:Array.indexOf(item,start)
item:必须。查找的元素。
start:可选的整数参数。规定在数组中开始检索的位置。
返回值:元素在数组中的位置,如果没有搜索到则返回 -1。
var arr = ['a','c','b','c','e']
var index = arr.indexOf('c')
console.log(index) // 1
lastIndexOf() 查找最后位置
lastIndexOf() 方法可返回一个指定元素在数组中最后出现的位置,从后向前查找。
语法:Array.lastIndexOf(item,start)
item:必须。查找的元素。
start:可选的整数参数。规定在数组中开始检索的位置。
返回值:元素在数组中的位置,如果没有搜索到则返回 -1。
var arr = ['a','c','b','c','e']
var index = arr.lastIndexOf('c')
console.log(index) // 3
迭代数组的5种方法
every()
every()方法用于判断数组中是否每个元素都满足条件。
语法:Array.every(function(item,index,array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:只有都满足才返回true,只要有一项不满足返回false。
var arr = [1,2,3,4,5,6]
var res = arr.every(item => {
return item > 2
})
console.log(res) // false
some()
some()用于判断数组中是否有至少一个元素满足条件。
语法:Array.some(function(item,index,array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:只要有一个满足就返回true,只有都不满足才返回false。
var arr = [1,2,3,4,5,6]
var res = arr.some(item => {
return item > 5
})
console.log(res) // true
filter()
filter()方法用于对数组进行过滤。
语法:Array.filter(function(item, index, array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:返回符合条件的新数组,不会改变原数组。
var arr = [1,2,3,4,5,6]
var res = arr.filter(item => {
return item > 3
})
console.log(res) // [4,5,6]
map()
map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
语法:Array.map(function(item, index, array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:返回新的数组,不会改变原数组。
var arr = [1,2,3,4]
var res = arr.map(item => {
if (item == 3) {
return item * 2
}
return item
})
console.log(res) // [1,2,6,4]
forEach()
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:Array.forEach(function(item, index, array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
没有返回值:如果是空数组,item为undifined。
var arr = [1,2,3,4]
var sum = 0
arr.forEach(item => {
sum += item
})
console.log(sum) // 10
reduce()
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
语法:Array.reduce(function(total, iten, index, array) { return total }, initialValue)
total:必须。计算结束后的返回值。初始值为initialValue。
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
initialValue:传递给函数的初始值。
返回值:返回计算结果。
// 计算数组项总和
var arr = [1,2,3,4]
var sum = arr.reduce((total,item) => {
return total + item
},0)
console.log(sum) // 10
// 计算数组项最大值
var arr = [1,2,3,4]
var max = arr.reduce((total,item) => {
return Math.max(total, item)
})
console.log(max) // 4
// 数组去重
var arr = [1,2,3,2,1,4]
var newArr = arr.reduce((total,item) => {
total.indexOf(item) === -1 && total.push(item)
return total
},[])
console.log(newArr) // [1,2,3,4]
ES6 新增数组方法
fill()
fill() 方法用于将一个固定值替换数组的元素。
语法:Array.fill(value, start, end)
value:必需。填充的值。
start:可选。开始填充位置。
end:可选。停止填充位置。
返回值:被填充的原数组。
var arr = ['a','b','c','d']
arr.fill('e',1,3)
console.log(arr) // ['a','e','e','d']
find()
find()方法用于查找并返回符合条件的第一个数组项。
语法:Array.find(function(item, index, array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:返回符合条件的第一个数组元素值,没有符合条件返回 undefined。
var arr = ['a','b','c','d']
var str = arr.find(item => {
return item == 'c'
})
console.log(str) // c
findIndex()
findIndex()方法用于查找并返回符合条件的第一个数组项的位置。
语法:Array.findIndex(function(item, index, array) { return 条件 })
item:必须。当前元素的值。
index:当前元素的索引。
array:当前元素的数组对象。
返回值:返回符合条件的第一个数组元素值,没有符合条件返回 -1。
var arr = ['a','b','c','d']
var index = arr.findIndex(item => {
return item == 'c'
})
console.log(index) // 2
ES7 新增数组方法
includes()
includes() 方法用来判断一个数组是否包含一个指定的值。
语法:Array.includes(searchElement, fromIndex)
searchElement:必须。需要查找的元素值。
fromIndex:可选。从该索引处开始查找 searchElement。
返回值:包含返回true,不包含返回false。
var arr = ['a','b','c','d']
var res = arr.includes('b')
console.log(res) // true
javaScript基本使用api的更多相关文章
- javascript 百度地图API - demo
<!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...
- 在线聊天室的实现(1)--websocket协议和javascript版的api
前言: 大家刚学socket编程的时候, 往往以聊天室作为学习DEMO, 实现简单且上手容易. 该Demo被不同语言实现和演绎, 网上相关资料亦不胜枚举. 以至于很多技术书籍在讲解网络相关的编程时, ...
- 第二篇、JavaScript常用的API
下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属性操作 内容操作 css操作 位置大小 事件 DOM加载完毕 绑定上下文 去除空格 Ajax JS ...
- [Javascript] JSON.parse API
JSON (JavaScript Object Notation) is a standard method to serialize JavaScript objects and is common ...
- 【转】NativeScript的工作原理:用JavaScript调用原生API实现跨平台
原文:https://blog.csdn.net/qq_21298703/article/details/44982547 -------------------------------------- ...
- Javascript实现百度API
百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富.交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特 ...
- JavaScript 对象所有API解析【2020版】
JavaScript 对象所有API解析[2020版] 写于 2019年08月20日,虽然是2019年写的文章,但现在2020年依旧不过时,现在补充了2019年新增的ES10 Object.fromE ...
- 【Chrome】如何在C++中增加给JavaScript调用的API
本文示例说明了如何在Chrome浏览器中增加JavaScript API.为了简化,先假设是在已有的namespace中增加一个新的API,文章的最后将指出如果增加一下全新的namespace所需注意 ...
- JavaScript原生拖放API入门总结
一.背景 最早实现JavaScript拖放功能的是IE4的浏览器了.在当时,网页中只有图像和文本才能够进行拖放.IE5之后,拖放功能得到了扩展,形成了一个API(应用程序编程接口),使得几乎任何的标签 ...
- JavaScript 使用 mediaDevices API 选择摄像头
大多数智能手机都有前置和后置摄像头,当你在创建视频应用时你可能想要选择或者切换前置.后置摄像头. 如果你开发的是一款聊天应用,你很可能会想调用前置摄像头,但如果你开发的是一款拍照软件,那么你会更倾向于 ...
随机推荐
- itertools模块中的product方法
itertools模块中的product方法 itertools.product(*iterables[, repeat]) 笛卡尔积 创建一个迭代器,生成表示item1,item2等中的项目的笛卡尔 ...
- PHP中获取数组中单列的值
PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的值.(PHP 5.5+适用) 语法: array_column(array,column_k ...
- 凸包Graham Scan算法实现
凸包算法实现点集合中搜索凸包顶点的功能,可以处理共线情况,可以输出共线点也可以不输出而只输出凸包顶点.经典的Graham Scan算法,点排序使用极角排序方式,并对共线情况做特殊处理.一般算法是将共线 ...
- 自定义Dialog布局的弹窗功能的简单实现
package com.loaderman.dialogdemo; import android.os.Bundle; import android.support.v7.app.AlertDialo ...
- Ubuntu16版本中安装MongoDB
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-linux/ //授权 https://docs.mongodb.com/man ...
- Nmap扫描二级目录
nmap --script http-enum -p80 192.168.2.100 //namp扫描2级目录
- 网络实验 04-利用三层交换机实现VLAN间路由
利用三层交换机实现VLAN间路由 一.实验目标 掌握交换机Tag VLAN 的配置 掌握三层交换机基本配置方法 掌握三层交换机VLAN路由的配置方法 通过三层交换机实现VLAN间相互通信 二.实验背景 ...
- python基础之元祖tuple
元祖是只读列表,不可哈希,可循环查询,可切片*儿子不能改,孙子可更改--元祖里面单个元素不能更改---元祖内列表可更改增:tu1+tu2查:tu1[index] tu1[start_index:end ...
- 【科普杂谈】一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了
大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ...
- 【VS开发】关于SEH的简单总结
尽管以前写过一篇SEH相关的文章<关于SEH的简单总结>, 但那真的只是皮毛,一直对Windows异常处理的原理似懂非懂, 看了下面的文章 ,一切都豁然开朗. 1997年文章,Windo ...