将JavaScript对象修剪为具有匹配值的指定属性

时间:2016-01-04 01:22:05

标签: javascript

我正在尝试验证对象是否具有某组属性,并且它们的值是某种类型。我希望能够将对象与模板比较

name: "string",
age: "number",
registered: "boolean"

并返回仅包含与模板匹配的字段的对象。

var object = {
    name: "John McClane",
    age: 45,
    location: "Nakatomi Towers",
    registered: "yes"
}

var document = match(object, template);
console.log(document); 

/* Should return 
{
    name: "John McClane",
    age: 45
}
*/

编写这样的函数有哪些JavaScript最佳实践?我对内置方法和迭代不太熟悉,所以我不想以错误的方式解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以使用Object.keys生成一个template个键的数组,Array.prototype.reduce来迭代这些键并创建一个结果对象Object.prototype.hasOwnProperty来测试File access permissions 1}}有该密钥,object来测试typeof的类型。

object[key]