es6中的数组转换,关于Array.from()的一些疑问?-灵析社区

梦想缔造狮

11 22 33 let lis = document.querySelectorAll('li'); console.log([...lis]); let liC= Array.from(lis,ele=>ele.textContent); console.log(liC); 结果: ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/4f58d4f465f6ffaf7828b3b8ea1d542a.png) 问题: 1.`lis,ele=>ele.textContent`中我把`ele.textContent`换成了`lis.textContent`结果出来的是一个undefine的集合,是为什么?![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/c8453909e097609e3e4524c98b16e375.png) 2.`lis,ele=>ele.textContent`我是否可以理解为`Array.from(arr,function)`,然后返回元素的文本内容? 3.该怎么理解lis和ele之间的关系呢?(因为看到很多案例都是说from可以传入两个参数,但是好像返回的都是第二个参数的东西,这一块不是很理解) 理论知识学的很浅,上手就有点迷茫,感谢帮忙指导,帮我恶补,非常感谢

阅读量:267

点赞量:11

问AI
有这三个问题是因为对JS基础语法不清晰以及不明白 "from()"用法: from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。 或者说: Array.from() 静态方法从可迭代或类数组对象创建一个新的浅拷贝的数组实例。 语法 Array.from(arrayLike) Array.from(arrayLike, mapFn) Array.from(arrayLike, mapFn, thisArg) 参数 arrayLike 想要转换成数组的类数组或可迭代对象。 mapFn 可选 调用数组每个元素的函数。如果提供,每个将要添加到数组中的值首先会传递给该函数,然后将 mapFn 的返回值增加到数组中。使用以下参数调用该函数: element 数组当前正在处理的元素。 index 数组当前正在处理的元素的索引。 thisArg 可选 执行 mapFn 时用作 this 的值。 «"https://developer.mozilla.org/zh-> CN/docs/Web/JavaScript/Refer..." (https://link.segmentfault.com/?enc=VgwHLgkqlXQ2BnX0bSp1ZQ%3D%3D.b4oH%2BxGPckkyIHoyUkHLSSNhRYXKc3ZzfaxcAlci7Man5NkSc3ATHEl213BjrTlaY%2BQVFtAhrBb9GTmCAJOfpk7Km%2BEFHRRIWtVwQb45C4%2BF7SoSJmltfa5XjjKpAnE8)»