国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Object.entries()

Fourierr / 1509人閱讀

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

1.什么是entry

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

2.示例

Object.entries()
傳入對象

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 迭代器對象。Array Iterator是對象,它的原型(__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è)對象,對于有元素的數(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ù)組的長度大
    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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105319.html

相關(guān)文章

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

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

    dance 評論0 收藏0
  • JS中輕松遍歷對象屬性的幾種方式

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

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

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

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

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

    Kerr1Gan 評論0 收藏0
  • ES6入門之對象的新增方法

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

    Keven 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<