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字符串新方法

(0)

相关推荐

  • JavaScript的内置对象

    内置对象:对象是由属性和方法组成的,使用点语法访问 一,array数组 1. 特点: 数组用于存储若干数据,自动为每位数据分配下标,从0开始 数组中的元素不限数据类型,长度可以动态调整 动态操作数组元 ...

  • JavaScript数组 - 其他方法

    数组的其他方法 1.concat(); 格式:数组.concat( 数组2 ); 功能:将两个数组合并成一个新数组,源数组不会被改变 返回值:我们合并好的数组 参数:我们要合并的数组 举个小例子: 运 ...

  • javascript 数组 对象的一些方法记录

    记录一下常用的数组和对象的一些方法 数组 push() 数组后添加元素 // 作用:把一个元素或多个元素,从数组后面添加到数组里面: // 参数:添加的数据 // 返回:添加后的数组的长度: let ...

  • WEB前端第二十六课——js数组

    WEB前端第二十六课——js数组

  • JS数组的常用方法

    JS数组的常用方法

  • 最全的JavaScript常见的操作数组的函数方法宝典

    JavaScript在其内部封装了一个Array对象,使得我们可以方便地使用数组这种简单的数据结构,同时,也在 Array对象的原型上定义了一些常用并且很有用的操作数组的函数. 本文就将详细介绍一下每 ...

  • 内置对象Array-2

    pop() 原文:MDN - pop() 功能:pop() 方法从数组中删除最后一个元素,并返回该元素的值.此方法更改数组的长度. 语法: arr.pop():返回从数组中删除的元素 返回值:一个新数 ...

  • 【Excel VBA】字典+数组实现快速汇总

    数据合并的要点有三个: 料号和机种号为统计的关键字段 未交数量求和 交期汇总,包含时间和数量示例代码Sub LoadData() Dim aData, aRes(), lst, iRow, iCol, ...

  • C/C++编程笔记:C数组、字符串常量和指针!三分钟弄懂它

    想弄懂C语言中数组和指针的关系吗?这篇文章就占据你三分钟时间,看完你肯定会有收获! 数组 数组声明为 数据类型 名称[ constant-size ],并将一个数据类型的一个或多个实例分组到一个可寻址 ...

  • JS截取类字符串方法

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  • JS数组

         1.isArray()方法  判断变量是否是一个数组 var a = [1,2]; var b.innerHTML = Array.isArray(a);          2.forEac ...

  • js数组方法(管饱)

    有一些数组方法是ECMAScript新增的,一定要注意浏览器的兼容!!Array对象属性:属性说明constructor返回对创建此对象的函数引用length返回集合内的元素的所有长度prototyp ...

  • 浅谈js数组中的length属性

    前言 一位正在学习前端的菜鸟,虽菜,但还未放弃. 内容 首先,我们都知道每个数组都有一个length属性 这个length属性一般我们用来循环遍历的约束,一般我们都会把他认为是该数组里面有几个元素这个 ...

  • Js数组对象中每一项值value相加

    假设有这么一条数据 const data = [ { "15日": 0, "27日": 0, "13日": 0, "25日&quo ...