如何找到一个数字,它是数组中添加哪些元素的结果(Javascript)?

如何找到一个数字,它是数组中添加哪些元素的结果(Javascript)?,javascript,html,Javascript,Html,例如,有一个数组arr[1,2,4,8,16,32,64128],每个元素代表一个权限。这是用于权限分配的编号 一个数字,它肯定是数组中一个或多个元素的和 例如: 1 = arr[0] 6 = arr[1]+arr[2] 11 = arr[0]+arr[1]+arr[3] 17 = 1 + 16 171 = 1 +2 +8 +32 +128 如何找到这个元素或几个使用js编码的元素 感谢您的帮助。尽管您可能并不真正关心这里发生了什么,因为它闻起来很像某种作业,但这正是当提问者没有提供足

例如,有一个数组
arr[1,2,4,8,16,32,64128]
,每个元素代表一个权限。这是用于权限分配的编号

一个数字,它肯定是数组中一个或多个元素的和

例如:

1 = arr[0]

6 = arr[1]+arr[2]

11 = arr[0]+arr[1]+arr[3]

17 = 1 + 16

171 = 1 +2 +8 +32 +128
如何找到这个元素或几个使用js编码的元素


感谢您的帮助。

尽管您可能并不真正关心这里发生了什么,因为它闻起来很像某种作业,但这正是当提问者没有提供足够的信息帮助回答问题时,回答者的感受

const arr=[1,2,4,8,16,32,64,128]
常量getElementIndexes=(n)=>{
返回arr.slice().reverse().reduce((累加器,当前值)=>{
如果(n>=当前值){
累加器未移位(arr.indexOf(currentValue))
n=n-当前值
}
回流蓄能器
}, [])
}
console.log(getElementIndexes(1))
console.log(getElementIndexes(6))
console.log(getElementIndexes(11))
console.log(getElementIndexes(17))

log(getElementIndexes(171))
Javascript在哪里?你试过什么?对不起,我的英语很糟糕。谢谢,这正是我想要的 谢谢,这正是我想要的。@ioripalm不客气。如果你想要一个好的答案,就要问一个好问题。不客气。想要好答案,先写好问题。