freeCodeCamp----Where art thou?

写一个 function,它遍历一个对象数组(第一个参数)并返回一个包含相匹配的属性-值对(第二个参数)的所有对象的数组。如果返回的数组中包含 source 对象的属性-值对,那么此对象的每一个属性-值对都必须存在于 collection 的对象中。

例如,如果第一个参数是 [{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }],第二个参数是 { last: "Capulet" },那么你必须从数组(第一个参数)返回其中的第三个对象,因为它包含了作为第二个参数传递的属性-值对。解:

freeCodeCamp----Where art thou?_第1张图片

Object 构造函数创建一个对象包装器。

语法:

// 对象初始化器(Object initialiser)或对象字面量(literal)
{[nameValuePair1[, nameValuePair2[, ...nameValuePairN]]]} 

// 以构造函数形式来调用
new Object([value])
参数:

nameValuePair1, nameValuePair2, ... nameValuePairN成对的名称(字符串)与值(任何值),其中名称通过冒号与值分隔。 value任何值。描述:

Object构造函数为给定值创建一个对象包装器。如果给定值是 null  undefined,将会创建并返回一个空对象,否则,将返回一个与给定值对应类型的对象。

当以非构造函数形式被调用时,Object 等同于 new Object()

Object构造函数的属性:

Object.length
值为1。
Object.prototype
可以为所有 Object 类型的对象添加属性。

Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。

语法:

Object.keys(obj)

参数:

obj要返回其枚举自身属性的对象。

返回值:

一个表示给定对象的所有可枚举属性的字符串数组。

描述:

Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

例子:

// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

// array like object with random key ordering
var anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']


你可能感兴趣的:(Javascript,JavaScript)