JS内容整合 + ES6新增内容 持续更新中~

JS内容整合 + ES6新增内容 持续更新中~

数组方法
1、arr.push()
 		从数组后面添加元素,返回值为添加完成后的长度  改变原数组
    	let arr = [1,2,3]
        console.log(arr.push(9))  // 4
		console.log(arr) // [1,2,3,9]
2、arr.pop()
		从数组后面删除元素,只能是一个,返回的是删除的元素  改变原数组
    	let arr = [1,2,3]
        console.log(arr.pop()) // 3
		console.log(arr) // [1,2]
3、arr.shift()
		从数组前面删除元素,只能删除一个,返回值是删除的元素 改变原数组
    	let arr = [1,2,3]
        console.log(arr.shift())  // 1
		console.log(arr)  //[2,3]
4、arr.unshift()
		从数组前面添加元素,返回值是添加完后的数组长度 改变原数组
    	let arr = [1,2,3]
        console.log(arr.unshift(4)) // 4
		console.log(arr)  //[4,1,2]
5、arr.splice(i,n)
		 删除数组从i(索引值)开始 n(要删除的数量)个元素,返回一个由删除的元素组成的新数组 改变原数组
    	let arr = [1,2,3]
        console.log(arr.splice(1,2))  // [3]
		console.log(arr) // [1,2]
6、arr.concat()
		连接两个数组返回值为连接后的新数组  不改变原数组
    	let arr = [ 1,2,3]
        console.log(arr.concat([3,4])) // [1,2,3,4,5]
		console.log(arr) //[1,2,3]
7、arr.join()
		将数组转为字符串
    	let arr = [1,2,3]
        console.log(arr.join('')) //"123"
8、arr.sort()
 		将数组进行排序,返回值是排好的数组,默认是按照最左边第一位数字进行排序   传参自定义排序的时候则是比较整个数值   改变原数组
    	let arr = [1,21,12,23,34,44,45,67,9]
        console.log(arr.sort()) //[1, 12, 21, 23, 34, 44, 45, 67, 9]
		//从小到大排序
		let arr1 = arr.sort((a,b) => a - b)
        console.log(arr1) //  [1, 9, 12, 21, 23, 34, 44, 45, 67]
        console.log(arr) // [1, 9, 12, 21, 23, 34, 44, 45, 67]
		//从大到小排序
		let arr2 = arr.sort((a,b) => b - a)
        console.log(arr2) // [67, 45, 44, 34, 23, 21, 12, 9, 1]
        console.log(arr) // [67, 45, 44, 34, 23, 21, 12, 9, 1]
9、arr.reverse()
		将数组反转, 返回值是反转后的数组 改变原数组
    	let arr = [1,2,3]
    	console.log(arr.reverse()) // [3,2,1]
		console.log(arr)  // [3,2,1]
10、arr.slice(start, end)
		切去索引值statr到索引值end的数组,不包含end的值,不改变原数组
    	let arr = [1,2,3]
        console.log(arr.slice(0,2)) // [1,2]
		console.log(arr) // [1,2,3]
11、arr.forEach(callback)
		遍历数组,无返回值
    	let arr = [1,2,3]
        arr.forEach((value, index , array) => {
            //value : 当前的值  index 当前索引  array 原数组
        })
12、arr.map(callback)
		遍历数组,有返回值
    	let arr = [1,2,3]
        arr.map((value, index , array) => {
            //value : 当前的值  index 当前索引  array 原数组
        })
		** forEach 和 map的区别 
    	1、forEach 是和for循环一样,是for的替代,map是修改数组其中的数据
        2、map有return forEach没有
13、arr.filter(callback)
 		过滤数组,返回一个满足要求的数组
		let arr = [1,2,3]
        let arr1 = arr.filter(v => v < 3)
        console.log(arr1) //[1,2]
14、arr.every(callback)
		依据判断条件,数组的元素是否完全满足,满足返回true,否则返回false
    	let arr = [1,2,3]
        let arr1 = arr.every(v => v > 0) //true
        let arr2 = arr.every(v => v > 2) //false
15、arr.some(callback)
    	 依据判断条件,数组的元素是否有一个满足,满足返回true,否则返回false
  		let arr = [1,2,3]
        let arr1 = arr.every(v => v > 2) //true
        let arr2 = arr.every(v => v > 6) //false
16、arr.reduce(callback, initialVal)
 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值     ES6
    	参数 : callback : previousValue 必选 --上一次调用回调返回的值,或者是提供的初始值(initialValue)
          		   currentValue 必选 --数组中当前被处理的数组项
          		   index 可选 --当前数组项在数组中的索引值
        	   initialValue : 可选 初始值
        实行方法:回调函数第一次执行时,preValue 和 curValue 可以是一个值,如果 initialValue 在调用 reduce() 时被提供,那么第一个 preValue 等于 initialValue ,并且curValue 等于数组中的第一个值;如果initialValue 未被提供,那么preValue 等于数组中的第一个值
        let arr = [1,2,3] 
        let arr1 = arr.reduce((preValue, curValue) => {
            preValue + curValue
        })		//6
17、 Array.isArray(arr)
    	用来确定传递的值是否是一个数组
        let arr = [1, 2, 3]
        console.log(Array.isArray(arr)) // true
        let arr1 = "1,2,3"
        console.log(Array.isArray(arr1))  //false
18、 Array.of()
		返回一个由参数组成的数组      ES6
   		console.log(Array.of(1, 2, 3))  //[ 1, 2, 3 ]
19、 Array.from()
		将数组对象转为数组  不改变原对象 返回新数组     ES6
    	let obj = {
            0: '1',
            1: '2',
            2: '3',
            'length': 3
        };
        let arr = Array.from(obj)
        console.log(arr)  // [ '1', '2', '3' ]
        let str = '123'
        let arr1 = Array.from(str)
        console.log(arr1)  // [ '1', '2', '3' ]
20、arr.copyWithin()
 		数组的指定位置复制  改变原数组  ES6
            arr.copyWithin(index, start, end)
                第一个参数:复制到指定目标索引位置。
                第二个参数:元素复制的起始位置 (可选)
                第三个参数:停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。(可选)
        let arr = [1, 2, 3, 4, 5, 6];
        let a = arr.copyWithin(2, 0, 3);
        console.log(arr) // [1, 2, 1, 2, 3, 6]
21、 fill()
        数组的填充  改变原数组       ES6
        arr.fill(value, start, end)
        value    必需。填充的值。
        start    可选。开始填充位置。
        end  可选。停止填充位置 (默认为 array.length)
        let arr = new Array(3)
        arr.fill('内容')
        console.log(arr)  [ '内容', '内容', '内容' ]
        let arr1 = new Array(3) 
        arr1.fill('内容', 0, 1)
        console.log(arr1) 	[ '内容', <2 empty items> ]
22、 arr.toString()
	 		把数组转换为字符串,并返回结果。不改变原数组
    		let arr = [1,2,3]
            console.log(arr.toString()) // 1,2,3
23、 arr.indexOf()
			查找数组中某元素的第一个索引值,并返回结果   不改变原数组     ES6
    		第一个参数为查找的值 第二个参数为查找的起始位
            let arr = [1, 2, 3, 4, 5, 6]
            console.log(arr.indexOf(3))//2 
            console.log(arr.indexOf(3, 3))//-1
            console.log(arr.indexOf(8))//-1
24、 arr.lastIndexOf()
		    逆向查找指定元素在数组中的第一个位置,并返回结果   不改变原数组    ES6
    		第一个参数为查找的值 第二个参数为逆向查找的起始位
            let arr = [1, 1, 3, 4, 5, 1];
            console.log(arr.lastIndexOf(1))//5
            console.log(arr.lastIndexOf(1, -2))//1
25、 arr.indludes()
 			查找数组是否包含某个元素    不改变原数组    ES6
    		第一个参数为要查找的值 必填
            第二个为查找的起始位置
            返回值 true或false
            let arr = [1, NaN, 100, '42'];
            console.log(arr.includes(1)); //true
            console.log(arr.includes(NaN)); //true
            console.log(arr.includes(1, 3)); //false
对象方法
1、Object.assign()
		 Describe: 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target).
        			Object.assign()方法第一个参数是目标对象,后面的参数都是源对象
        			Object.assign()实现拷贝,如果对象中只有一级属性,没有二级属性,则为深拷贝,若						拷贝对象中仍含有对象,则为浅拷贝,拷贝后的对象仍指向原对象
         eg:
            const target = {a: 1}
            const source1 = {b: 2}
            const source2 = {c: 3}
            Object.assign(target, source1,source2 )
            target	// {a:1, b:2, c:3}
2、Object.create()
		 Describe: 方法创建一个新对象, 使用现有的对象来提供新创建的对象proto
         			第一个参数参数proto : 必须。表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象,或说是最后返回的对象)的原型上。该参数可以是null, 对象, 函数的prototype属性 (创建空的对象时需传null , 否则会抛出TypeError异常)。
					第二个参数propertiesObject : 可选。 添加到新创建对象的可枚举属性(即其自身的属性,而不是原型链上的枚举属性)对象的属性描述符以及相应的属性名称。
		  eg: 
				//new Object()创建
				var a = {  rep : 'apple' }
                var b = new Object(a)
                console.log(b) // {rep: "apple"}
                console.log(b.__proto__) // {}
                console.log(b.rep) // {rep: "apple"}

                // Object.create() 方式创建
                var a = { rep: 'apple' }
                var b = Object.create(a)
                console.log(b)  // {}
                console.log(b.__proto__) // {rep: "apple"}
                console.log(b.rep) // {rep: "apple"}
3、Object.defineProperty()
 		 Describe: Object.defineProperty(obj, prop, desc)的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性
 			 obj 需要定义属性的当前对象 , prop 当前需要定义的属性名 , desc 属性描述符
			 一般通过为对象的属性赋值的情况下,对象的属性可以修改也可以删除,但是通过Object.defineProperty()定义属性,通过描述符的设置可以进行更精准的控制对象属性。
			 内容篇幅过长,这里后续补充~

考虑了一下 要是把知识点都写在这一个文件可能有点长 不方便查看 我决定将其拆开放在别的文章里面展示了~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值