【发布时间】:2021-11-12 16:21:20
【问题描述】:
我有一个数组和一个对象,我想要一个函数 samePrice(arr,obj),如下所示:
const arr = [0,1,2];
const obj = {
0: 10,
1: 10,
2: 10,
3: 12,
};
// samePrice(arr,obj) => true
const arr = [0,3];
const obj = {
0: 10,
1: 10,
2: 10,
3: 12,
};
// samePrice(arr,obj) => false
这是我目前的功能...
const samePrice = (arr,obj) => {
let result = true;
let it = obj[arr[0]];
arr.forEach(item => {
if (obj[item] !== it){
result = false;
}
})
return result;
}
我相信有更好的解决方案。
【问题讨论】:
-
(arr, obj) => false;只需要一行...函数实际上应该做什么? -
该函数将数组的值与对象的索引进行比较,如果数组对应的对象的所有值都相等则返回true@Teemu
-
“我有一个使用 forEach 的解决方案,但函数长度超过 10 行” - 你应该发布该代码,即使只是作为努力的证明(甚至可以在折叠的 sn-p 中)。事实上,这个问题与只是为他们完成作业的人没有区别。
-
我明白,但那是因为我对自己的 JavaScript 技能并不感到自豪,哈哈。我用我拥有的功能编辑了我的问题。 @ASDFGerte
标签: javascript arrays object