<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
/* 1.
join()
功能:用指定的连接符,把数组中的元素连接起来组成一个字符串
参数:不写参数或者空串或者特定的连接符
返回值:返回字符串!!!!不写参数返回数组去掉[],是有,号的
参数写了空串那么只要元素组成的字符串 没有[] 没有,号
特定的连接符 以这个符号连接你的元素
*/
var arr = [1, 3, 5, 7]
var arr2 = ["a", "v", "e"]
console.log(arr.join()) // 1,3,5,7
console.log(arr.join(",")) // 同上显示
console.log(arr2.join("")) // ave
console.log(arr) // [1, 3, 5, 7]
/* 2.
forEach()
功能:遍历数组
参数:一个函数 这个函数形参有两个(item 元素 index 下标)
返回值:无
*/
var arr = [1, 3, 5, 7]
/* console.log(arr.forEach(function(item,index){
console.log("item="+item)
console.log("index="+index)
})) */
/* 3.
slice()
功能:截取数组的元素
参数:第一个起始下标,第二个结束下标(包含起始 不包含结束)
返回值:截取的元素组成的数组
*/
var arr = [12, 34, 56, 78]
console.log(arr.slice(1, 3)) // [34, 56]
console.log(arr.slice(-1)[0]) // 78
console.log(arr) // [12, 34, 56, 78]
/* 4.
concat()
功能:拼接数组
参数:要拼接的元素或者数组
返回值:拼接完成后的数组
*/
var arr = [12, 34, 56, 78]
var arr1 = [1, 2, 3]
// 把前面的数组拼接上后面的数组,前面数组在前
console.log(arr.concat(arr1)) // [12, 34, 56, 78, 1, 2, 3]
console.log(arr1.concat(arr)) // [1, 2, 3, 12, 34, 56, 78]
// console.log(arr)
/* 5.
toString
功能:把数组对象转成字符串 (join不传参一样)
参数:无
返回值:元素的字符串(有,号)
*/
var arr = [1, 3, 5, 7]
console.log(arr.toString()) // 1,3,5,7
function fun() {
console.log("你好")
}
// console.log(fun.toString())
var obj = { name: "孙悟空" }
// console.log(obj.toString())
/* 6.
indexOf()
功能:查找数组中有没有这个元素
参数;第一个是要查找的元素,第二个从哪里开始找(可写可不写)
返回值:找到了返回对应元素的下标,找不到返回-1
*/
var arr = [1, 3, 5, 7]
console.log(arr.indexOf(1)) // 0
// console.log(arr.indexOf(1,2))
/* 7.
includes()
功能:判断数组中是否包含指定值
参数:需要查找的指定值
返回值:如果包含返回true,否则返回false
*/
var arr = [1, 3, 2, 5, 11, 23]
var result = arr.includes(5)
console.log(result) // true
/* 8.
map()
功能:映射一个新的数组
参数: 一个函数 这个函数当中的形参可以拿到元素和下标
返回值:一个新的数组
*/
var arr = [1, 3, 5, 7]
var newArr = arr.map(function(item, index) {
return item + 1
})
console.log(newArr) // [2, 4, 6, 8]
console.log(newArr === arr) // false
/* 9.
filter()
功能:通过旧数组过滤出一个新的数组
参数:一个函数 这个函数当中的形参可以拿到元素和下标
返回值:返回出满足条件的元素 组成的一个新数组
*/
var arrF = [1, 3, 5, 7]
var newArr = arrF.filter(function(item, index) {
return item > 5
})
console.log(newArr) // [7]
console.log(arrF) // [1, 3, 5, 7]
console.log(newArr === arr) // false
/* 10.
every()
功能;判断数组当中每一个元素是否都符合条件
参数:一个函数 这个函数当中的形参可以拿到元素和下标
返回值:都符合返回true 有一个不符合返回false
*/
var arr = [49, 53, 56, 59]
var flag = arr.every(function(item, index) {
return item > 50
})
console.log(flag) // false
/* 11.
some()
功能:判断数组当中某一个元素是否符合条件
参数:一个函数 这个函数当中的形参可以拿到元素和下标
返回值:只要有一个满足条件 就是true 都不满足才是false
*/
var arr = [49, 53, 56, 60]
var flag = arr.some(function(item, index) {
return item > 50
})
console.log(flag) // true
/* 12.
find()
功能:查找数组中某一个符合条件的元素
参数:一个函数 这个函数当中的形参可以拿到元素和下标
返回值:查找到这个符合条件的元素后 把元素返回出来
注意点:只要一个 如果多个都符合 只要第一个 后面的不看了
如果都不符合 返回值为undefined
*/
var arr = [49, 53, 56, 57]
var flag = arr.find(function(item, index) {
return item > 50
})
console.log(flag) // 53
/* 12.
findIndex()
功能:查找数组中某一个符合条件的元素
参数:一个函数 这个函数当中的形参可以拿到元素和下标
返回值:查找到这个符合条件的元素后 把下标返回出来
注意点:只要一个 如果多个都符合 只要第一个 后面的不看了
如果都不符合 返回值为undefined
*/
var arr = ["a", "b", "c", "d", "c"]
var flag = arr.findIndex(function(item, index) {
return item === "e"
})
console.log(flag) // -1
/* 13.
reduce()
功能:累加器
正常情况
参数: 第一个是函数,这个函数中的第一个形参可以拿到初始值或上一次return的值
第二个是初始值
返回值;累加之后的结果
*/
/* ①
arr.reduce(function(上一次的值,元素,下标){
return 这里的值 会做为下一次prev的值
},初始值) */
var arr = [1, 3, 5, 7]
var flag = arr.reduce(function(prev, item, index) {
console.log(prev, item, index)
return prev + item
}, 0)
console.log(flag) // 16
// ② 如果没写第二个参数(没写初始值) 那么prev第一次的值是数组中的第一项 item从第二项开始遍历
var arr1 = [2, 3, 4, 5]
var result = arr1.reduce(function(prev, item, index) {
console.log(prev, item, index)
return prev + item
})
console.log(result) // 14
var arr2 = [2, 3, 4, 5]
var num = arr2.reduce(function(prev, item, index) {
console.log(prev, item, index)
if (item > 3) return prev + 1
return prev
}, 0)
console.log(num) // 2
</script>
</head>
<body>
</body>
</html>
不影响原数组的方法
于 2023-11-30 16:02:57 首次发布