最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS如何遍歷帶有子集的數(shù)組集合(嵌套數(shù)組)

 更新時間:2023年06月29日 14:55:41   作者:薄荷琴糖  
這篇文章主要介紹了JS如何遍歷帶有子集的數(shù)組集合(嵌套數(shù)組)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JS遍歷帶有子集的數(shù)組集合

js中兩種for循環(huán):

for(var i in obj)
for(var i=0;i<obj.length;i++)

區(qū)別:

for(var i in obj)

  • 是增強for循環(huán),是不使用下標的一種遍歷方式,簡單高效,缺點是不能使用下標。
  • 如果想要循環(huán)遍歷一個json對象就用第一個
  • 如果想循環(huán)遍歷一個數(shù)組對象就用第二個

for(var i in obj)

  • 1.遍歷數(shù)組時,i是索引值,arr[i]是索引號對應的值。
  • 2.遍歷字符串時,i是索引值,arr[i]是索引號對應的字符。
  • 3.遍歷json對象時,i是冒號前面的值,json[i]是冒號后面的值。

遍歷嵌套數(shù)組(遞歸)【判斷子集】

traversal(dataInfo)//dataInfo是要循環(huán)遍歷的集合
//遍歷方法
function traverse(data) {
            for (var i in data) {
                if (data[i].children) {
                    traverse(data[i].children)
                }
                if (!data[i].children.length) {
                    delete data[i].children;
                }
            }
        }

例如我的集合如下

我要獲取其中的Name并輸出

代碼如下:

traversal(dataInfo)//dataInfo是要循環(huán)遍歷的集合
//遍歷方法
function traverse(data) {
            for (var i in data) {
                alert(data[i].Name)
                if (data[i].children) {
                    traverse(data[i].children)
                }
                if (!data[i].children.length) {
                    delete data[i].children;
                }
            }
        }

使用JS找出給定數(shù)組的所有子集

題目描述

給定一組不含重復元素的整數(shù)數(shù)組 nums,返回該數(shù)組所有可能的子集(冪集)。

說明:解集不能包含重復的子集。

解題思路

  • 采用二進制的思路,全0對應空集,全1對應全集
  • 根據(jù)數(shù)組長度決定二進制位數(shù)
  • 遍歷二進制各值,使用按位與操作符,生成數(shù)組的子集

解題代碼

/**
?* @param {number[]} nums
?* @return {number[][]}
?*/
var subsets = function(nums) {
? ? let res = [], len = nums.length;
? ? for (let i = 0; i < (1 << len); i++) {
?? ??? ?let arr = [];
? ? ? ? for (let j = 0; j < len; j++) {
? ? ? ? ? ? if (i & (1 << j)) arr.push(nums[j]);
? ? ? ? }
? ? ? ? res.push(arr);
? ? }
? ? return res;
};

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

芜湖县| 安仁县| 洛阳市| 同江市| 张家界市| 南阳市| 曲水县| 德令哈市| 汾西县| 满洲里市| 汪清县| 滦南县| 栾城县| 历史| 小金县| 区。| 佛冈县| 阜宁县| 于田县| 江安县| 太湖县| 杭锦旗| 怀仁县| 恩平市| 金山区| 沙坪坝区| 峨眉山市| 临武县| 措美县| 巨野县| 略阳县| 绥化市| 巩留县| 集贤县| 双峰县| 环江| 濮阳县| 互助| 林州市| 额济纳旗| 临武县|