不影响原数组的方法

<!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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值