vieyahn2017 / iBlog

44 stars 0 forks source link

9.24 CSDN代码无法复制,当然难不倒我 #389

Closed vieyahn2017 closed 3 months ago

vieyahn2017 commented 2 years ago

如题


var anchors = document.querySelectorAll('#content_views > pre > code > ol > li');
var arr = Array.prototype.slice.call(anchors);
// arr.forEach(x => console.log(x.outerText));
console.log(arr.map(x => {console.log(x.outerText); return x.outerText;}).join("\n"));
vieyahn2017 commented 2 years ago

在javascript中NodeList和Array的区别及转换方法

https://www.cnblogs.com/zhaokunbokeyuan256/p/7449238.html

像操作Array一样操作NodeList

既然NodeList有length,可以for循环索引取值,转换成数组还不是轻而易举?哈哈,最直接的思路是这样的:

var arr = new Array(); 
var anchors = document.getElementsByTagName("a") 
    for (var i = 0; i < anchors.length; i++) { 
    var ele = anchors[i]; 
    arr.push(ele); //arr就是我们要的数组 
} 

扼要说明一下吧:先new一个Array,遍历NodeList,然后将每一个单独的元素push到数组变量里,最后操作数组变量,over。有没有智商受辱的感觉? 下面是在网上google到的,两行代码就可以将NodeList转换成Array来使用了:

var anchors = document.getElementsByTagName("a"); 
var arr = Array.prototype.slice.call(anchors); //非ie浏览器正常
vieyahn2017 commented 2 years ago

slice() 方法可从已有的数组中返回选定的元素。 语法 arrayObject.slice(start,end) 返回值 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

vieyahn2017 commented 2 years ago

测试csdn代码复制

https://blog.csdn.net/xuemanqianshan/article/details/103702218

VBA 如何给数组去重?

Sub jackma1()

arr1 = Array(1, 2, 3, 4, 5, 1, 1, 1, 5)

Dim dict1 As Object
Set dict1 = CreateObject("scripting.dictionary")

'把array的element当做key,赋值item为空
For i = LBound(arr1) To UBound(arr1)
   dict1(arr1(i)) = ""
Next

'这里就自动对dict 的key 也就是array 自动去重了
For Each j In dict1.keys
    Debug.Print j;
Next

'因为给item赋值都是"" 所以这里没东西的
For Each k In dict1.items
    Debug.Print k;
Next

End Sub
vieyahn2017 commented 3 months ago

已经重新记录到【jsup】