zoukankan      html  css  js  c++  java
  • 《前端之路》之三 数组的属性 && 操作方法(上)

    03:数组的属性 && 操作方法(上)

    一、Array property 数组的属性

    1、constructor
    返回对创建此对象的数组函数的引用
    
    
    [].constructor
    // ƒ Array() { [native code] }
    
    
    2、length
    返回 或者 设置数组中元素的数目
    
    const abc = ['a', 'b', 'c']
    console.log(abc.length)		// 3
    
    abc.length = 2
    console.log(abc)			// ['a', 'b'] 
    
    abc.length = 4
    console.log(abc)			// ["a", "b", "c", empty]
    
    3、prototype:使您有能力向对象添加属性和方法
    那么数组的 prototype 属于 就是 JS 原生带的非常多的方法。
    

    二、Array prototype 数组的原型

    这里,我们就详细的介绍下 Array prototype 数组的原型 中包含了哪些方法
    
    1、concat()

    连接两个数组,并返回结果

    
    const a = [1,2,3,4]
    const b = [5,6,7,8]
    
    const c = a.concat(b)
    // [1, 2, 3, 4, 5, 6, 7, 8]
    
    
    2、join()

    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔

    
    const a = [1,2,3,4]
    const aStrin = a.join(',')	//  "1,2,3,4"
          
    

    那么在这个原生方法中我们常常会用到的这个方法来解决一些问题, 比如调换字符串的排序

    eg:

    
    const aArray = '1,2,3,4,5,6,7'
    const arrayA = aArray.split(',').reverse().join(',')
    
    // "7,6,5,4,3,2,1"
    
    3、pop()

    删除并返回数组的最后一项

    const testArray = [1,2,3,4,5,6,7]
    cosnt a = testArray.pop()		// 7
    console.log(testArray)			// [1,2,3,4,5,6]
    // pop 和 push 组合成栈
    
    4、push()

    向数组的末尾添加一个或多个元素,并返回数组的新长度

    const a = [12,123,1234]
    var l = a.push(12345)	
    console.log(l)				// 4
    console.log(a)				// [12, 123, 1234, 12345]
    
    5、shift()

    删除并返回数组的第一个元素

    const a = [1,2,23,44,55,66]
    const b = a.shift()
    console.log(b)				// 1
    console.log(a) 				// [2, 23, 44, 55, 66]
    
    6、unshift()

    向数组的开头添加一个或多个元素,并返回新的长度

    const a = [1,2,23,44,55,66]
    const b = a.unshift('add')
    const c = a.unshift('add', 'second')
    console.log(b)				// 7
    console.log(a)				// ["add", 1, 2, 23, 44, 55, 66]
    console.log(c)				// 8
    console.log(a)				// ["add", "second", 1, 2, 23, 44, 55, 66]
    
    利用以上的方法 去实现 栈、队列、反向队列

    首先解释下 栈、队列、反向队列 分别是什么意思?

    1、栈

    栈: 作为一种数据结构,是一种只能从一端进行数据的增减或者删除。 即所谓的先进者后出 (水杯)

    eg:

    var stack = []
    stack.push(1)
    var item = stack.pop()
    
    2、队列

    队列: 我们可以和 栈 进行对比,即为:只能够在 表的前端进行删除,只能够在表的后端进行插入操作. 即 先进者先出 ( 推-注射器 )

    eg:

    var queue = []
    queue.push(1)
    queue.shift()
    
    3、反向队列

    反向队列: 我们可以和 队列 进行对比,即为:只能够在 表的后端进行删除,只能够在表的前端进行插入操作. 即 先进者后出 ( 吸-注射器 )

    eg:

    var reverseQueue = []
    reverseQueue.unshift(1)
    var item = reverseQueue.pop()
    
    今天就先说到这里,下班回家~

    Github地址,欢迎 Star

  • 相关阅读:
    spring cloud网关gateway
    maven将依赖第三方包打包(package)到jar中
    spring boot创建多模块聚合工程
    spring cloud服务间调用feign
    取模和取余的区别
    实现多线程编程的三种方式
    打开eclipse编译后的.class文件
    对中断interrupt的理解
    对final和static的理解
    对synchronized的一点理解
  • 原文地址:https://www.cnblogs.com/erbingbing/p/9291478.html
Copyright © 2011-2022 走看看