Discuss / JavaScript / 可以用map简化

可以用map简化

Topic source

机器犭苗

#1 Created at ... [Delete] [Delete and Lock User]

// sort list:

var children_arr = [...document.getElementById('test-list').children]

var sorted = children_arr.map(x=>x.innerText).sort();

children_arr.map((x,i)=>{x.innerText=sorted [i];})

eyehaa

#2 Created at ... [Delete] [Delete and Lock User]

赞!

昌盛哟

#3 Created at ... [Delete] [Delete and Lock User]

var children_arr = [...document.getElementById('test-list').children]

请问

[...        ]  是什么作用

Jiligual4

#4 Created at ... [Delete] [Delete and Lock User]

应该是 JavaScript 的 Spread Syntax-展开语法

Samuelmu

#5 Created at ... [Delete] [Delete and Lock User]

因为DOM列表是类数组,而非数组,所以数组的方法Array.map(fn)不能直接使用.需先进行转换

ES6中类数组转数组的可以这么写:

var arr = Array.from(nodeList)
或者
var arr = [...nodeList]

  • 1

Reply