成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Object.entries()

Fourierr / 1521人閱讀

摘要:是對(duì)象,它的原型上有一個(gè)方法,可用用于遍歷迭代器取得原數(shù)組的。返回一個(gè)對(duì)象,對(duì)于有元素的數(shù)組,是用于指示迭代器是否完成在每次迭代時(shí)進(jìn)行更新而且都是,直到迭代器結(jié)束才是。是一個(gè)的數(shù)組,是返回的迭代器中的元素值。

1.什么是entry

entries() 方法返回一個(gè)新的Array Iterator對(duì)象,該對(duì)象包含數(shù)組中每個(gè)索引的鍵/值對(duì)。

2.示例

Object.entries()
傳入對(duì)象

const obj = { foo: "bar", baz: 42 };
Object.entries(obj)
//輸出 [ ["foo", "bar"], ["baz", 42] ]

Array.entries()
傳入數(shù)組

const arr = ["a", "b", "c"]; 
console.log(Object.entries(arr));  
// [[ "0", "a" ], [ "1", "b" ], [ "2", "c" ] ]

const arr1 = [{ a: 1 }, 2, 3]; 
console.log(Object.entries(arr1));  
// [["0", { a: 1 }], ["1", "2"], ["2", "3"]]

const arr2 = [{ a: 1 }, { b: 2 }, { c: 3 }]; 
console.log(Object.entries(arr2));  
// [["0", { a: 1 }], ["1", { b: 2 }], ["2", { c: 3 }]]

將 Object 轉(zhuǎn)化為 Map
new Map() 構(gòu)造函數(shù)接受一個(gè)可迭代的 entries 。 借助 Object.entries 方法你可以很容易的將 Object 轉(zhuǎn)換為 Map:

const obj2 = { foo: "bar", baz: "abc" }; 
console.log(Object.entries(obj2));  // [["foo", "bar"], ["baz", "abc"]]
const map = new Map(Object.entries(obj2)); 
console.log(map); // Map {"foo" => "bar", "baz" => "abc"}

3. arr.entries()

返回一個(gè)新的 Array 迭代器對(duì)象。Array Iterator是對(duì)象,它的原型(__proto__:Array Iterator)上有一個(gè)next方法,可用用于遍歷迭代器取得原數(shù)組的[key,value]。

var array1 = ["a", "b", "c"];

var iterator1 = array1.entries();

console.log(iterator1.next().value);
// expected output: Array [0, "a"]

console.log(iterator1.next().value);
// expected output: Array [1, "b"]

Array Iterator

var arr = ["a", "b", "c"];
var iterator = arr.entries();
console.log(iterator);

/*Array Iterator {}
         __proto__:Array Iterator
         next:? next()
         Symbol(Symbol.toStringTag):"Array Iterator"
         __proto__:Object
*/

iterator.next()

var arr = ["a", "b", "c"];
var iterator = arr.entries();
console.log(iterator.next());
// { value: [ 0, "a" ], done: false }

// iterator.next()返回一個(gè)對(duì)象,對(duì)于有元素的數(shù)組,
// 是next{ value: Array(2), done: false };
// next.done 用于指示迭代器是否完成:在每次迭代時(shí)進(jìn)行更新而且都是false,
// 直到迭代器結(jié)束done才是true。
// next.value是一個(gè)["key","value"]的數(shù)組,是返回的迭代器中的元素值。

iterator.next方法運(yùn)行

var arr = ["a", "b", "c"];
var iter = arr.entries();
var a = [];

// for(var i=0; i< arr.length; i++){   // 實(shí)際使用的是這個(gè) 
for(var i=0; i< arr.length+1; i++){    // 注意,是length+1,比數(shù)組的長(zhǎng)度大
    var tem = iter.next();             // 每次迭代時(shí)更新next
    console.log(tem.done);             // 這里可以看到更新后的done都是false
    if(tem.done !== true){             // 遍歷迭代器結(jié)束done才是true
        console.log(tem.value);
        a[i]=tem.value;
    }
}
    
console.log(a);

// false
// [ 0, "a" ]
// false
// [ 1, "b" ]
// false
// [ 2, "c" ]
// true
// [ [ 0, "a" ], [ 1, "b" ], [ 2, "c" ] ]

二維數(shù)組按行排序

function sortArr(arr) {
    var goNext = true;
    var entries = arr.entries();
    while (goNext) {
        var result = entries.next();
        if (result.done !== true) {
            result.value[1].sort((a, b) => a - b);
            goNext = true;
        } else {
            goNext = false;
        }
    }
    return arr;
}

var arr = [[1,34],[456,2,3,44,234],[4567,1,4,5,6],[34,78,23,1]];
sortArr(arr);

使用for…of 循環(huán)

 var arr = ["a", "b", "c"];
 var iterator = arr.entries();
 // undefined
 
 for (let e of iterator) {
     console.log(e);
 }
 
 // [0, "a"] 
 // [1, "b"] 
 // [2, "c"]

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105319.html

相關(guān)文章

  • JavaScript深入理解對(duì)象方法——Object.entries()

    摘要:返回值給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組。描述返回一個(gè)數(shù)組,其元素是與直接在上找到的可枚舉屬性鍵值對(duì)相對(duì)應(yīng)的數(shù)組。屬性的順序與通過(guò)手動(dòng)循環(huán)對(duì)象的屬性值所給出的順序相同。借助方法你可以很容易的將轉(zhuǎn)換為你可以使用下面列出的簡(jiǎn)易。 Object.entries() Object.entries()方法返回一個(gè)給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對(duì)象時(shí)...

    dance 評(píng)論0 收藏0
  • JS中輕松遍歷對(duì)象屬性的幾種方式

    摘要:當(dāng)普通對(duì)象要轉(zhuǎn)換成時(shí)就很有用,因?yàn)榉祷氐母袷脚c構(gòu)造函數(shù)接受的格式完全相同。使用常規(guī)的構(gòu)造函數(shù)可以將一個(gè)二維鍵值對(duì)數(shù)組轉(zhuǎn)換成一個(gè)對(duì)象。在和早期標(biāo)準(zhǔn)中,根本沒(méi)有指定屬性的順序。此函數(shù)還可以輕松地將純對(duì)象屬性映射到對(duì)象中。 為了保證的可讀性,本文采用意譯而非直譯。 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! 自身可枚舉屬性 Object.keys() 方法會(huì)返回一個(gè)...

    isLishude 評(píng)論0 收藏0
  • 迅速了解一下 ES10 中 Object.fromEntries 的用法

    摘要:方法就是的逆操作,作用是將一個(gè)鍵值對(duì)數(shù)組轉(zhuǎn)化為一個(gè)對(duì)象同樣的該方法也已經(jīng)成為中提案在介紹之前,回顧一下的用法。 Object.fromEntries 方法就是 entries 的逆操作,作用是將一個(gè)鍵值對(duì)數(shù)組轉(zhuǎn)化為一個(gè)對(duì)象 同樣的該方法也已經(jīng)成為 ES10 中 stage4 提案: showImg(https://segmentfault.com/img/remote/14600000...

    widuu 評(píng)論0 收藏0
  • js常見基礎(chǔ)對(duì)象屬性方法(一)

    摘要:中雙感嘆號(hào)的作用一般用于將后面的表達(dá)式強(qiáng)制轉(zhuǎn)化為布爾類型。通過(guò)實(shí)現(xiàn)類式繼承繼承對(duì)象已經(jīng)原型對(duì)象屬性父類父類的方法子類調(diào)用父類的構(gòu)造函數(shù)。 js基礎(chǔ)對(duì)象屬性方法 Object.keys() Object.keys()方法會(huì)返回一個(gè)由一個(gè)給定對(duì)象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和使用 for...in 循環(huán)遍歷改對(duì)象時(shí)返回的順序一致(兩者的主要區(qū)別是一個(gè)for-in 循環(huán)...

    Kerr1Gan 評(píng)論0 收藏0
  • ES6入門之對(duì)象的新增方法

    showImg(https://segmentfault.com/img/remote/1460000019258913?w=2933&h=1955); 1. Object.is() 用來(lái)解決在ES5中 兩種相等運(yùn)算符的缺點(diǎn)。用來(lái)比較兩個(gè)值是否嚴(yán)格相等,行為和(===)基本一致。 在ES5中判斷兩個(gè)值是否相等,只能用(==)相等運(yùn)算符和(===)嚴(yán)格相等運(yùn)算符,但是這兩貨都有缺點(diǎn),前者 兩邊的值都...

    Keven 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Fourierr

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<