如何解决在数组Javascript
我是js的新手,并且需要帮助。
当前,我有一个函数,该函数通过传递obj和obj键对的期望位置来重新排列对象内的键。
function orderKey(inputobject,keyplacement) {
keyplacement.forEach((k) => {
const v = inputobject[k]
delete inputobject[k]
inputobject[k] = v
})
}
要为单个对象运行此功能,我只需调用它并传递参数即可。
示例:
const value = {
foo: 1,bar: 2,food: 3
}
const desiredorder = ['foo','food','bar']
orderKey = (value,desiredorder)
console.log(value) // Will output => {foo:1,food: 3,bar:2}
假设输入是这样的:
const value = [{
foo: 1,food: 3
},{
foo: 2,bar: 3,food: 4
},]
如何为数组中的每个对象分配orderKey函数,以获得每个对象的所需位置?
最有效的循环是什么?
我们非常感谢您的帮助。
谢谢。
解决方法
我会这样使用map函数。
//please add the return statement
function orderKey(inputobject,keyplacement) {
keyplacement.forEach((k) => {
const v = inputobject[k]
delete inputobject[k]
inputobject[k] = v
})
return inputobject;
}
const value = [{
foo: 1,bar: 2,food: 3
},{
foo: 2,bar: 3,food: 4
}]
const desiredOrder = ['foo','food','bar']
// suggestion using map function.
// creates a new array populated with all the resulting objects.
let newValues = value.map(actualValue => {
return orderKey(actualValue,desiredOrder);
})
console.log(newValues)
这里是参考文献Array.prototype.map()
,您可以在forEach
上使用value
循环
value.forEach(val => orderKey(val,desiredOrder))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。