我正在使用Babel/ES6构建应用程序.我想禁用它的仅查看版本的所有表单元素,所以我这样做:
let form = document.getElementById('application-form')
let elements = form.elements
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这一点,而不是使用常规的旧for循环(它确实有效):
elements.forEach((el) => {
el.disabled = true
})
Run Code Online (Sandbox Code Playgroud)
但我明白了 TypeError: elements.forEach is not a function
奇怪的是,如果我console.log(elements)在Chrome开发者控制台中,它就像一个带有一堆input对象的数组.它不显示Object对象的符号,并且所有键都是整数.我认为它是某种伪数组,但我甚至不知道如何找到它.
编辑:简短回答它不是一个数组,它是一个HTMLCollection.请参阅为什么节点列表没有forEach?
根据这个答案,nodelist现在有了forEach方法!
有没有更好的方法将解构数组转换为 JavaScript 中的对象?
我正在使用 axios API 库,当我一次执行多个查询时,我会返回一个包含 4-5 API 的数组responses。然后我想将它们包装到一个对象中并传递给另一个函数。也许有一个单线?这并不是什么大不了的事,但我的申请中有很多这样的东西。
const [foo, bar, baz] = [1, 2, 3]
const obj = { foo, bar, baz }
console.log(obj)
=> {foo: 1, bar: 2, baz: 3}
Run Code Online (Sandbox Code Playgroud)