-
push(): 将一个或多个元素添加到数组的末尾,并返回修改后的数组的长度。
const fruits = ['apple', 'banana']
fruits.push('cherry')
-
pop(): 移除数组的最后一个元素,并返回被移除的元素。
const fruits = ['apple', 'banana', 'cherry']
const removedFruit = fruits.pop()
-
unshift(): 将一个或多个元素添加到数组的开头,并返回修改后的数组的长度。
const fruits = ['banana', 'cherry']
fruits.unshift('apple')
-
shift(): 移除数组的第一个元素,并返回被移除的元素。
const removedFruit = fruits.shift()
-
concat(): 将两个或多个数组合并为一个新数组,而不修改原始数组。
const arr1 = [1, 2]
const arr2 = [3, 4]
const combined = arr1.concat(arr2)
-
slice(): 返回一个新数组,包含从原数组中指定的开始索引到结束索引的元素,而不修改原始数组。
const fruits = ['apple', 'banana', 'cherry', 'date']
const selectedFruits = fruits.slice(1, 3)
-
splice(): 从数组中添加、删除或替换元素,可以修改原始数组。
const fruits = ['apple', 'banana', 'cherry']
fruits.splice(1, 1, 'orange')
-
forEach(): 对数组中的每个元素执行指定的函数,没有返回值。
const fruits = ['apple', 'banana', 'cherry']
fruits.forEach(fruit => console.log(fruit))
-
map(): 创建一个新数组,其中包含原数组的每个元素按照指定的函数进行转换。
const numbers = [1, 2, 3, 4, 5]
const doubled = numbers.map(num => num * 2)
-
filter(): 创建一个新数组,其中包含满足指定条件的原数组元素。
const numbers = [1, 2, 3, 4, 5]
const evenNumbers = numbers.filter(num => num % 2 === 0)
-
reduce(): 将数组的元素合并为一个单一的值,通过指定的回调函数来累积值。
const numbers = [1, 2, 3, 4, 5]
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0)
-
sort(): 对数组元素进行排序,原数组会被改变。
const fruits = ['banana', 'cherry', 'apple']
fruits.sort()
-
every() 和 some(): 用于检查数组中的元素是否满足指定条件,返回布尔值。
const numbers = [1, 2, 3, 4, 5];
const allEven = numbers.every(num => num % 2 === 0);
const someEven = numbers.some(num => num % 2 === 0);
-
Object.keys(obj): 返回一个数组,包含对象 obj 的所有可枚举属性的名称。
const person = { name: 'Alice', age: 30, city: 'New York' };
const keys = Object.keys(person); // 返回 ['name', 'age', 'city']
-
Object.values(obj): 返回一个数组,包含对象 obj 的所有可枚举属性的值。
const person = { name: 'Alice', age: 30, city: 'New York' }
const values = Object.values(person)
-
Object.entries(obj): 返回一个包含对象 obj 所有可枚举属性的键-值对数组。
const person = { name: 'Alice', age: 30, city: 'New York' };
const entries = Object.entries(person); // 返回 [['name', 'Alice'], ['age', 30], ['city', 'New York']]
-
Object.assign(target, source): 将一个或多个源对象的属性复制到目标对象,并返回目标对象。它用于对象的浅复制。
const target = { a: 1, b: 2 }
const source = { b: 3, c: 4 }
const result = Object.assign(target, source)
-
Object.freeze(obj): 冻结对象,防止其被修改。被冻结后的对象属性无法添加、删除或修改。
const person = { name: 'Alice', age: 30 }
Object.freeze(person)
person.name = 'Bob'
-
Object.seal(obj): 密封对象,防止其属性被删除,但允许属性值的修改。
const person = { name: 'Alice', age: 30 }
Object.seal(person)
person.name = 'Bob'
delete person.age
-
Object.keys(obj).length: 获取对象中可枚举属性的数量。
const person = { name: 'Alice', age: 30, city: 'New York' }
const numProperties = Object.keys(person).length
-
hasOwnProperty(prop): 检查对象是否包含指定属性,并返回布尔值。
const person = { name: 'Alice', age: 30 }
const hasName = person.hasOwnProperty('name')
-
Object.getOwnPropertyNames(obj): 返回一个数组,包含对象 obj 的所有属性名称,包括不可枚举属性。
const person = { name: 'Alice', age: 30 }
const propertyNames = Object.getOwnPropertyNames(person)