Object
在JavaScript中,Object
类型是一种复杂的数据类型,用于存储键值对集合。它提供了多种方法来操作这些键值对,以及执行其他常见的操作。这里,我列出了一些 Object
类型的常见方法或特性,它们在日常编程中非常有用:
- 属性访问
- 点符号(
.
):如果属性名是一个有效的标识符(例如,没有空格、不是以数字开头等),你可以使用点符号来访问属性。obj.propertyName
。 - 方括号(
[]
):如果属性名不是有效的标识符(比如包含空格或特殊字符),或者你想动态地访问属性,你可以使用方括号。obj['propertyName']
或obj[variableName]
。
- 点符号(
-
Object.keys()
- 返回一个由给定对象的自身属性的键组成的数组,数组中属性键的排列顺序和使用
for...in
循环遍历该对象时返回的顺序一致(两者的主要区别是for...in
循环还会枚举其原型链上的属性)。
- 返回一个由给定对象的自身属性的键组成的数组,数组中属性键的排列顺序和使用
- Object.values()
- 返回一个由给定对象自身的所有可枚举属性值的数组,其排列与使用
for...in
循环遍历该对象时返回的顺序一致(但只包含对象自身的属性)。
- 返回一个由给定对象自身的所有可枚举属性值的数组,其排列与使用
- Object.entries()
- 返回一个给定对象自身可枚举属性的键值对数组,其排列与使用
for...in
循环遍历该对象时返回的顺序一致(同样只考虑对象自身的属性)。
- 返回一个给定对象自身可枚举属性的键值对数组,其排列与使用
-
Object.assign()
- 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。注意,它只复制自有属性,不会复制继承的或不可枚举的属性。
-
Object.create()
- 创建一个新对象,使用现有的对象来提供新创建的对象的
__proto__
(即原型)。
- 创建一个新对象,使用现有的对象来提供新创建的对象的
- Object.getPrototypeOf()
- 返回指定对象的原型(即内部
[[Prototype]]
属性的值)。
- 返回指定对象的原型(即内部
- Object.hasOwnProperty()
- 用来判断一个对象是否有某个属性,不管该属性是自身的还是继承的。它只判断属性是否存在于对象本身,不判断其是否存在于原型链中。
-
Object.is()
- 判断两个值是否严格相等。它与严格相等运算符(
===
)的区别在于处理NaN
和+0
与-0
的方式不同。
- 判断两个值是否严格相等。它与严格相等运算符(
- Object.freeze()
- 冻结一个对象。一个被冻结的对象不能被修改;即不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的值,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改该对象原型的指向。返回冻结后的对象。
-
Object.defineProperty()
- 在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。这个方法允许精确添加或修改对象的属性。
- Object.getOwnPropertyDescriptor()
- 返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接附加在对象上的属性,而不是继承自其原型的属性)。
这些是 Object
类型的一些基本且常用的方法或特性,它们在处理JavaScript对象时非常有用。
Array
在JavaScript中,Array
类型提供了许多内置的方法来操作数组,包括添加、删除、遍历、搜索、排序等。以下是一些常见的 Array
方法:
- push()
- 向数组的末尾添加一个或多个元素,并返回新的数组长度。
- pop()
- 删除并返回数组的最后一个元素。
- shift()
- 删除并返回数组的第一个元素。
- unshift()
- 在数组的开头添加一个或多个元素,并返回新的数组长度。
- concat()
- 用于合并两个或多个数组。此方法不会改变现有的数组,而是返回一个新数组。
- slice()
- 返回一个浅拷贝的新数组对象,这个对象是一个由
begin
到end
(不包括end
)选择的数组的一部分浅拷贝。原始数组不会被修改。
- 返回一个浅拷贝的新数组对象,这个对象是一个由
-
splice()
- 通过删除现有元素和/或添加新元素来更改一个数组的内容。这个方法会改变原数组。
- join()
- 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
- sort()
- 对数组的元素进行排序,并返回数组。排序不一定是稳定的。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的。
- reverse()
- 颠倒数组中元素的顺序。
- indexOf()
- 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
- lastIndexOf()
- 返回指定值在数组中的最后一个索引,如果不存在则返回-1。从数组的后面向前查找。
-
forEach()
- 对数组的每个元素执行一次提供的函数。
-
map()
- 创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
-
filter()
- 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
- reduce()
- 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
- reduceRight()
- 它的工作原理类似于
reduce()
,不同的是它是从数组的末尾开始向前遍历。
- 它的工作原理类似于
- find()
- 返回数组中满足提供的测试函数的第一个元素的值。否则返回
undefined
。
- 返回数组中满足提供的测试函数的第一个元素的值。否则返回
- findIndex()
- 返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
- flat()
- 按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
- flatMap()
- 首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与
map
和flat
方法的结合非常相似,但flatMap
通常在性能上更优。
- 首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与
String
在JavaScript中,String
类型提供了许多内置的方法来操作字符串,这些方法可以用于字符串的查找、替换、截取、转换等操作。以下是一些常见的 String
方法:
- length
- 属性,用于获取字符串的长度。
- charAt(index)
- 方法,返回在指定位置的字符。索引(index)从0开始计算。
- charCodeAt(index)
- 方法,返回在指定的位置的字符的Unicode编码。索引(index)从0开始计算。
-
concat(...strings)
- 方法,用于连接两个或多个字符串,并返回连接后的新字符串。
- fromCharCode(...codes)
- 静态方法,接受一个或多个Unicode编码值,然后返回一个字符串。注意,这是
String
对象的一个静态方法,因此应该通过String.fromCharCode()
来调用。
- 静态方法,接受一个或多个Unicode编码值,然后返回一个字符串。注意,这是
- indexOf(searchValue, fromIndex)
- 方法,返回指定值在字符串中首次出现的位置索引。如果未找到,则返回-1。
fromIndex
是可选的,表示开始搜索的位置。
- 方法,返回指定值在字符串中首次出现的位置索引。如果未找到,则返回-1。
- lastIndexOf(searchValue, fromIndex)
- 方法,返回指定值在字符串中最后一次出现的位置索引,从字符串的末尾向前搜索。
fromIndex
是可选的,表示开始搜索的位置。
- 方法,返回指定值在字符串中最后一次出现的位置索引,从字符串的末尾向前搜索。
-
match(regexp)
- 方法,在字符串内检索与正则表达式相匹配的结果。如果没有找到匹配项,则返回
null
。
- 方法,在字符串内检索与正则表达式相匹配的结果。如果没有找到匹配项,则返回
-
replace(searchValue/regexp, replaceValue)
- 方法,在字符串中查找匹配的子串或正则表达式,并用新的子串替换它们。默认情况下,只替换第一个匹配项。如果
replaceValue
是一个函数,则对每个匹配项执行该函数,其返回值将用作替换文本。
- 方法,在字符串中查找匹配的子串或正则表达式,并用新的子串替换它们。默认情况下,只替换第一个匹配项。如果
- search(regexp)
- 方法,检索与正则表达式相匹配的值。返回第一个匹配项的索引;如果没有找到匹配项,则返回-1。注意,
search()
方法不执行全局匹配,它总是从字符串的开始进行检索。
- 方法,检索与正则表达式相匹配的值。返回第一个匹配项的索引;如果没有找到匹配项,则返回-1。注意,
-
slice(start, end)
- 方法,提取字符串的一部分,并返回一个新字符串(被提取的部分)。
start
是开始提取的位置(包含),end
是结束提取的位置(不包含)。如果省略end
,则提取到字符串的末尾。
- 方法,提取字符串的一部分,并返回一个新字符串(被提取的部分)。
-
split(separator, limit)
- 方法,通过分隔符将字符串分割成子字符串数组。
separator
是分隔符,limit
是可选的,用于限制返回数组的长度。
- 方法,通过分隔符将字符串分割成子字符串数组。
- substr(start, length)
- 方法(注意:在较新的JavaScript版本中可能不推荐使用),从字符串中提取从
start
位置开始的指定数量的字符。如果省略length
,则提取到字符串的末尾。
- 方法(注意:在较新的JavaScript版本中可能不推荐使用),从字符串中提取从
- substring(start, end)
- 方法,提取字符串中介于两个指定下标之间的字符。返回的新字符串包括
start
处的字符,但不包括end
处的字符。如果省略end
,则提取到字符串的末尾。
- 方法,提取字符串中介于两个指定下标之间的字符。返回的新字符串包括
- toLowerCase()
- 方法,将字符串中的所有大写字符转换为小写字符,并返回新的字符串。
- toUpperCase()
- 方法,将字符串中的所有小写字符转换为大写字符,并返回新的字符串。
- trim()
- 方法,从字符串的两端删除空白字符。空白字符包括空格、制表符、换行符等。
trim()
方法不会改变原始字符串,而是返回一个新的字符串。
- 方法,从字符串的两端删除空白字符。空白字符包括空格、制表符、换行符等。
- includes(searchString, position)
- 方法,判断字符串是否包含指定的子字符串,根据情况可指定开始搜索的位置。返回布尔值。
- startsWith(searchString, position)
- 方法,判断字符串是否以指定的子字符串开头,根据情况可指定开始搜索的位置。返回布尔值。
- endsWith(searchString, position)
- 方法,判断字符串是否以指定的子字符串结尾,根据情况可指定开始搜索的位置(但
endsWith
方法中的position
参数实际上是限定在position
之前的字符中搜索,而不包括position
本身的字符)。返回布尔值。
- 方法,判断字符串是否以指定的子字符串结尾,根据情况可指定开始搜索的位置(但
- replaceAll(searchValue, replaceValue)
- 方法(ES2021引入),在字符串中查找所有匹配的子串,并替换它们。与
replace()
方法不同,replaceAll()
会替换所有匹配项,而不仅仅是第一个。
- 方法(ES2021引入),在字符串中查找所有匹配的子串,并替换它们。与
以上是一些JavaScript中String
类型的常见方法,它们在处理字符串时非常有用。
标签:返回,Object,对象,Javascript,数组,字符串,Array,属性 From: https://blog.csdn.net/m0_55049655/article/details/140217830