Object
- Object.keys(obj)
- 参数:
- obj:要返回其枚举自身属性的对象。
返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。
例:
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']
var anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']
// getFoo is a property which isn't enumerable
var myObj = Object.create({}, {
getFoo: {
value: function () { return this.foo; }
}
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']
- Object.assign(target, …sources)
- 参数:
- target:目标对象。
- sources:源对象。
用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
例:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
- Object.prototype.hasOwnProperty(prop)
- 参数:
- prop:要检测的属性的
String
字符串形式表示的名称,或者 Symbol。
返回某个对象是否含有指定的属性的布尔值。用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。**
Array
- Array.every(callback[, thisArg])
- 参数:
- callback:用来测试每个元素的函数,它可以接收三个参数(可选):element当前测试值,index当前索引, array当前数组。
- thisArg:执行 callback 时使用的 this 值。
测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
注意:若收到一个空数组,此方法在一切情况下都会返回 true。
例:
function isBelowThreshold(currentValue) {
return currentValue < 40;
}
var array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold)); // true
- Array.filter(callback(element[, index[, array]])[, thisArg])
- 参数:
- 用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:element当前测试值,index当前索引, array当前数组。
- thisArg:执行 callback 时使用的 this 值。
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。(不会改变原数组)
function isBigEnough(element) {
return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]