JS学习笔记-数组和对象的常用方法
数组方法
- toString():返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串;不改变原数组;该方法的返回值与不使用任何参数调用
join()
方法返回的字符串相同。
- valueOf():返回数组对象本身;
valueOf()
是 Object 对象的方法,属于基本数据类型、引用数据类型的任何对象都可以继承这个方法。
- join():只接收一个参数,用作分隔符的字符串,然后返回拼接字符串,默认以逗号分隔;不改变原数组。
- push() 推入、pop() 弹出、unshift() 入队、shift() 出队;改变原数组。
- reverse():反转数组的顺序,返回反转后的结果;改变原数组。
- sort():升序排列数组项,会调用每个数组项的
toString()
方法,以其字符串形式进行比较,也可以接受一个比较函数作为参数,以便指定哪个值在哪个值的前面,返回经过排序之后的数组;改变原数组。
- concat():创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,返回新构建的数组,如果不提供参数,
concat()
方法返回当前数组的浅拷贝;不改变原数组。
- slice() :方法创建一个新数组,接受一个或两个参数,即要返回项的起始和结束位置,返回新数组;不改变原数组。
- splice(index, num, insert):接收三个参数,
index
:开始位置,num
:删除个数,insert
:插入元素,返回被删除元素组成的数组;改变原数组。
- indexOf(search,start):接收两个参数,
start
表示搜索的开始位置,返回search
首次出现的位置,如果没有找到则返回-1
;
- lastIndexOf():与
indexOf()
仅方向不同,从右向左查找;
- findIndex(callback):接收一个函数,返回数组中通过测试的第一个元素的索引,如果没有找到则返回
-1
;
- reduce(callback, initValue):方法接收两个参数,
callback
是用于化简的函数,initValue
是初始值,callback
的参数:total
累计器完成计算的返回值(必选);value
:当前元素(必选);index
:当前元素的索引(可选);array
:当前元素所属的数组对象(可选)。返回化简后的值;不改变原数组。
- reduceRight():工作原理和
reduce()
一样,不同的是它按照数组索引从高到低(从右到左)处理数组。
- map():对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组,可以接受第二个参数,表示回调函数执行时
this
所指向的对象;不改变原数组。
- forEach():对数组中的每一项运行给定函数,这个方法没有返回值。本质上与
for
循环迭代数组一样,如果要提前终止,必须把forEach()
方法放在一个try
块中,并能抛出一个异常;原数组改变与否取决于遍历时的操作。
- filter():对数组中的每一项运行给定函数,可以接受第二个参数,指定测试函数所在的上下文对象(
this
对象),返回为true
的项组成的数组;不改变原数组。
- some():对数组中的每一项运行给定函数,如果该函数对任一项返回
true
,则返回true
;不改变原数组。
- every():对数组中的每一项运行给定函数,如果该函数对每一项都返回
true
,则返回true
;不改变原数组。
- fill(value, start, end):对数组进行填充,使用
value
从start
开始至end
结束填充数组;改变原数组。
- copyWithin(index,start,end):会按照指定范围浅复制数组中的部分内容,然后将它们插入到指定索引开始的位置,将
start
至end
的值从index
位置起替换之后的值;改变原数组。
- flat(depth):对数组进行扁平化,
value
的值代表压平的深度,返回一个新数组,新数组中不包含原数组中的空元素;不改变原数组。
- from(obj, fn):将一个类数组对象或者可遍历对象转换成一个真正的数组;第二个参数作用类似于数组的
map
方法,用来对每个元素进行处理,将处理后的值放入返回的数组;不改变原对象。
对象方法
- charAt(index):返回在
index
位置的字符。
- charCodeAt(index):返回在
index
位置的字符的Unicode
编码。
- fromCharCode(num):将
Unicode
编码转为一个字符。
- concat():连接字符串。
- indexOf():检索字符串,且对大小写敏感。
- match():在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回指定的值。
- replace():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,返回替换后的字符串。
- search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。要执行忽略大小写的检索,请追加标志i。
- split():以参数为分隔符,把字符串分割为字符串数组。
- toLowerCase():把字符串转换为小写。
- toUpperCase():把字符串转换为大写。
- substr(start, length):(已弃用)从起始索引号提取字符串中指定数目的字符,如果
start
小于0
表示负索引,length
小于0
按0
处理。
- substring(start, end):提取字符串中两个指定的索引号之间的字符。
- slice(start, end):提取字符串的片段并返回。
substring
与slice
区别是:substring
会比较start
与end
的大小,较小的作为start
,且小于0
的值按0
处理;而slice
中小于0
表示负索引,start
大于end
截空。
- startsWith(searchString, position):判断当前字符串是否从
position
位置以searchString
开头,并根据判断结果返回true
或false
。position
默认值为0
。
- endsWith(searchString, endPosition):判断当前字符串是否从
endPosition
位置之前(不包含endPosition
)以searchString
结尾,并根据判断结果返回true
或false
。endPosition
默认值为当前字符串的length
。
- trim():去除字符串前后空格。
- padStart(targetLength, padString):从字符串的开头开始,用填充字符串填充当前字符串,直至达到指定长度,返回填充后的字符串。
- freeze(obj):冻结对象。被冻结的对象不能再被更改:不能添加新的属性,不能移除现有的属性,不能更改它们的可枚举性、可配置性、可写性或值,对象的原型也不能被重新指定。
- str1.localeCompare(str2):比较
str1
和str2
,返回正数
、0
、负数
.