zoukankan      html  css  js  c++  java
  • JS数组和字符串汇总

    数组

    1. 基本常识

    数组是引用类型的一种,什么是引用类型呢?

    和原始类型不同,引用类型变量中存放的仅仅是引用对象的内存地址

    所以,当我们复制引用类型的时候,复制的仅仅是它的地址罢了。

    也就是说,任意一个变量发生变化,地址上的对象也随之变化。

    举个例子:

    var a = [1,2,3];
    var b = a;
    b[0] = 'first';
    console.log(b[0]); // 'first'
    console.log(a[0]); // 'first'
    

    2. 常用属性与方法

    属性:Array.length 获取数组长度(也就是数组元素的个数)

    方法:

    • 检查数组
      value instanceof Array => true / false
      Array.siArray(value) => true / false

    • 转换方法
      toString() / join(sep) => 变成字符串,自定义分隔符(默认逗号分隔)
      valueOf() => 返回指定对象本身

    • 栈方法
      放砝码,先进后出
      push() => 在数组末尾添加元素
      pop() => 在数组末尾删除元素

    • 队列方法
      装子弹,先进先出
      unshift() => 在数组开头添加元素
      shift() => 在数组开头删除元素

    • 重排序方法
      reverse() => 反转
      sort() => 升序(值逐渐升高)
      注意:sort()比较的是字符串!sort()中可以传入一个比较函数。

    • 操作方法
      基于原数组,在新的副本上操作(不影响原数组),只是返回新数组。
      concat() => 数组元素拼接 在数组末尾添加元素,如果是数组那就将数组里的元素添加到末尾
      slice() => 切片 顾头不顾尾
      splice(startIndex, deleteNum, newItem) => 有三个参数,分别是开始位置、移除项数、被插入项。可以进行三种操作:删除、插入、替换。

      • Array.splice(1, 2) => 从下标1开始,删除2个元素(下标1和下标2被删)。
      • Array.splice(1, 0, 'newItem'); => 在下标1处插入元素'newItem'。
      • Array.splice(1, 0, 'newItem01', 'newItem02'); => 在下标1处插入多个元素。
      • Array.splice(1, 2, 'newItem01', 'newItem02'); => 在下标1处先删除2个元素,再插入新的元素(同上,1个或多个)。
    • 位置方法
      indexOf(value, [seekIndex]) => value的下标 第一个参数表示要查找的元素,第二个参数表示查找的起始位置。
      lastIndexOf(value) => value最后一次出现的下标
      注意:如果返回-1,表示数组中没有该项。

    • 迭代方法 (回调函数中第一个参数是数组项,第二个参数是下标,第三个参数是当前数组。)
      forEach(function(item,index,arr){...}) => 遍历数组 相当于原生的for循环
      every(function(item,index,arr){...}) => 数组里面所有的元素都要符合条件,才返回true。
      some(function(item,index,arr){...}) => 数组中任何一个元素符合条件,就返回true。
      map(function(item,index,arr){...}) => 做数据交互映射,可以重新整理数据结构。对每一项给定函数操作,返回新的数组。(常用!)
      filter(function(item,index,arr){...}) => 过滤数据,把返回true的留下来。对每一项给定函数操作,返回符合条件的数组。

    • 归并方法(回调函数中第一个参数是前一个累积值,第二个是当前值,第三个是下标,第四个是当前数组。)
      reduce(function(prev, cur, index, arr){...}) => 对给定数组按照从左到右的顺序,执行给定的操作,并返回结果。(求数组的和,求阶乘)
      reduceRight(function(prev, cur, index, arr){...}) => 对给定数组按照从右往左的顺序,执行给定的操作,并返回结果。

    字符串

    1. 基本常识

    字符串作为基本数据类型,它是不可以改变原始值的,属于不可变类型。(数组属于可变类型)

    那么,它为什么可以有属性和方法呢?

    因为它是包装类,首先会通过new String()创建一个字符串对象,这样就拥有了对象的属性和方法。

    当属性和方法调用完毕后,这个字符串对象就会销毁。

    2. 常用属性与方法

    属性:String.length 获取字符串长度(字符个数)

    方法:

    • 字符方法
      charAt(index) => 返回对应下标的字符
      charCodeAt(index) => 返回对应下标的字符编号

    • 转换方法
      String.split(sep) => 变成数组,自定义分隔符

    • 操作方法
      和数组的操作方法concat()、slice()、splice()类似。
      String.concat() => 字符串拼接(和加号的作用相同,先把符号左右转换成字符串然后相加)
      String.slice() => 切片,顾头不顾尾
      String.substring() => 同slice() 注意:传入负数直接转换为0
      String.substr(stratIndex, length) => 也是切片,不同的是第一个参数是开始下标位置,第二个参数是操作的字符长度。

    • 位置方法
      indexOf() => 返回查找字符的下标
      lastIndexOf() => 最后出现的下标
      注意:没有找到返回-1,第二个参数表示开始查找的下标

    trim() => 删除前置和后缀的所有空格

    • 大小写转换
      toLowerCase() => 字符串全部小写
      toUpperCase() => 字符串全部大写

    • ES6字符串新方法

  • 相关阅读:
    JavaScript的数据类型
    php字符串操作
    PHP快速入门
    JavaScript简介与使用方法
    《技术大牛的养成指南》--读书笔记
    Java并发编程-多线程
    分布式锁的实现方式和优缺点&Java代码实现
    Java操作Zookeeper
    排序二叉树、平衡二叉树、红黑树
    HashMap&Hashtable&LinkedHashMap&ConcurrentHashMap&Collections.synchronizedMap
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12653276.html
Copyright © 2011-2022 走看看