【发布时间】:2018-03-06 21:21:30
【问题描述】:
问题来了……
创建一个名为 keyAccessor 的函数。 keyAccessor 应该包含两个 参数:人员数组和对象。每个人的名字都是 也是对象的属性。 keyAccessor 应该循环通过 名称数组,并访问每个名称的对应值 对象,将值推入一个空数组。 keyAccessor 应该 返回新数组。
可以传入的示例名称集
var names = ["Dan", "Todd", "Andrew", "Doug"]
可以传入的示例对象
var people = {
Dan: { city: "Las Vegas", age: 24 },
Todd: { city: "France", age: 28 },
Andrew: { city: "Portland", age: 12 },
Doug: { city: "New New York", age: 56 },
}
将返回的新数组示例
var sampleOutput = [
{ city: "Las Vegas", age: 24 },
{ city: "France", age: 28 },
{ city: "Portland", age: 12 },
{ city: "New New York", age: 56 }
]
这就是我已经走了多远。
function keyAccessor(arr, obj){
var newArr = []
console.log(obj)
console.log(arr)
for(let i=0;i<arr.length;i++){
if(arr[i]=obj.name){
return newArr.push(obj)
}
}
return newArr
}
【问题讨论】:
-
JS 中的等式检查使用
==进行松散比较,===进行严格比较。普通=是一个作业。我说的是if,而不是你的循环。不过,这只是您的问题之一。 -
这听起来像是一个编码测试...
-
提示:我认为你只需要从函数中返回一个“返回”
-
这是一个测试,但我可以使用我想要的任何资源
-
或许.map函数可以帮到你。
标签: javascript arrays object for-loop