Object、Objectと[1:Object、2:Object]の違いは何ですか?

ニコラス・ニューマン

配列内のオブジェクトを削除しているときに、これに遭遇しました。

コードは次のとおりです。

friends = [];

friends.push(
    {
        a: 'Nexus',
        b: 'Muffin'
    },
    {
        a: 'Turkey',
        b: 'MonkMyster'
    }
    )

console.log(friends);

for(i in friends){
    if(friends[i].a == 'Nexus'){
          delete friends[i];
        friends.push({
            a: 'test',
            b: 'data'
        });
    }
}

console.log(friends);

jsfiddleにも掲載されています。

基本的に、私の最初console.logfriends出力はなぜですか?[Object, Object]

ただし、ループ内のそのオブジェクトを削除してから、配列に新しいオブジェクトを追加すると、次のログが記録されます。

[1: Object, 2: Object]

正確には1:, 2:どういう意味ですか(明らかに各オブジェクトに関連付ける)が、最初のログ記録後になぜそこにないのfriendsでしょうか?友達の配列のオブジェクト表記が間違っていますか?最初のfriends配列を間違って作成していて、JavaScriptパーサーが修正しているように感じますか?

オリオール

最初のアイテムを(インデックスを再作成せずに)削除し、新しいアイテムをプッシュしたためです。

最初は、オブジェクトが0番目の位置にあり、別のオブジェクトが1番目の位置にある配列がありました。

変更後、1番目の位置にオブジェクトがあり、2番目の位置に別のオブジェクトがある配列があります。

したがって、コンソールは、最初のエントリが0番目ではなく1番目の位置にあることを示したいだけです。

各コンソールはこれを異なる方法で行う可能性があります。たとえば、Firefoxでは

Array [ <1 empty slot>, Object, Object ]

コンソールは単なるデバッグツールであり、これらの構文は無視してかまいません。あなたは何も悪いことをしていません。

ただし、スパース配列を使用するのは少し奇妙かもしれません。プロパティを削除するだけでなく、配列のインデックスを再作成することを検討できます。

delete array[position];    // Just remove
array.splice(position, 1); // Remove and reindex

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Object obj = Object()とObject obj()の違いは何ですか?

分類Dev

objectとobject()の作成の違いは何ですか

分類Dev

assert object!= nullとAssert.assertNotNull(object)の違いは何ですか?

分類Dev

Cast List <object>とCastIEnumerable <object>の違いは何ですか

分類Dev

@ObjectとPointer(Object)の違いは何ですか?

分類Dev

Object.call()とObject .__ proto __。call()の違いは何ですか?

分類Dev

Array.from(Object)と[... Object]の違いは何ですか?

分類Dev

object.setAttribute()とobject.styleの違いは何ですか?

分類Dev

o1.prototype = Object.create(o2.prototype)とo1.prototype = o2.prototypeの違いは何ですか?

分類Dev

JavaScriptのObject.assignとObject.setPrototypeOfの違いは何ですか?

分類Dev

R S4初期化関数の「.Object」と「object」の違いは何ですか?

分類Dev

C#のArraySystem.ObjectとSystem.Objectの違いは何ですか?

分類Dev

Javaの「(Object)null」と「null」の違いは何ですか?

分類Dev

Javaの<T>と<Textends Object>の違いは何ですか?

分類Dev

NSNotificationの「object」と「userInfo」の違いは何ですか?

分類Dev

Object.assignとclass / extendsの使用の違いは何ですか?

分類Dev

newとObject.create()の本当の違いは何ですか

分類Dev

C#のArrayとobject []の違いは何ですか?

分類Dev

PowerShellの「Select」と「Select-Object」の違いは何ですか?

分類Dev

mock.patch.object(...とmock.patch(の違いは何ですか?

分類Dev

List <Object>とList <?>の違いは何ですか

分類Dev

{something:value}とObject.assign({}、{something:value})の違いは何ですか

分類Dev

nhibernateのUpdate(Object obj、Object id)とUpdate(string entity、Object obj)の違いは何ですか

分類Dev

タイプObjectと{}の違いは何ですか?いつ使用するか

分類Dev

<?>と<?の違いは何ですか Java GenericsでObject>を拡張しますか?

分類Dev

DRF:Permissionのhas_object_permissionとhas_permissionの違いは何ですか?

分類Dev

String.valueOf(String Object)のnullと "null"の違いは何ですか

分類Dev

Pythonのsuper(type、object)とsuper(supertype、type)の違いは何ですか?

分類Dev

C#の式におけるnew Object()とnew Object {}の違いは何ですか

Related 関連記事

  1. 1

    Object obj = Object()とObject obj()の違いは何ですか?

  2. 2

    objectとobject()の作成の違いは何ですか

  3. 3

    assert object!= nullとAssert.assertNotNull(object)の違いは何ですか?

  4. 4

    Cast List <object>とCastIEnumerable <object>の違いは何ですか

  5. 5

    @ObjectとPointer(Object)の違いは何ですか?

  6. 6

    Object.call()とObject .__ proto __。call()の違いは何ですか?

  7. 7

    Array.from(Object)と[... Object]の違いは何ですか?

  8. 8

    object.setAttribute()とobject.styleの違いは何ですか?

  9. 9

    o1.prototype = Object.create(o2.prototype)とo1.prototype = o2.prototypeの違いは何ですか?

  10. 10

    JavaScriptのObject.assignとObject.setPrototypeOfの違いは何ですか?

  11. 11

    R S4初期化関数の「.Object」と「object」の違いは何ですか?

  12. 12

    C#のArraySystem.ObjectとSystem.Objectの違いは何ですか?

  13. 13

    Javaの「(Object)null」と「null」の違いは何ですか?

  14. 14

    Javaの<T>と<Textends Object>の違いは何ですか?

  15. 15

    NSNotificationの「object」と「userInfo」の違いは何ですか?

  16. 16

    Object.assignとclass / extendsの使用の違いは何ですか?

  17. 17

    newとObject.create()の本当の違いは何ですか

  18. 18

    C#のArrayとobject []の違いは何ですか?

  19. 19

    PowerShellの「Select」と「Select-Object」の違いは何ですか?

  20. 20

    mock.patch.object(...とmock.patch(の違いは何ですか?

  21. 21

    List <Object>とList <?>の違いは何ですか

  22. 22

    {something:value}とObject.assign({}、{something:value})の違いは何ですか

  23. 23

    nhibernateのUpdate(Object obj、Object id)とUpdate(string entity、Object obj)の違いは何ですか

  24. 24

    タイプObjectと{}の違いは何ですか?いつ使用するか

  25. 25

    <?>と<?の違いは何ですか Java GenericsでObject>を拡張しますか?

  26. 26

    DRF:Permissionのhas_object_permissionとhas_permissionの違いは何ですか?

  27. 27

    String.valueOf(String Object)のnullと "null"の違いは何ですか

  28. 28

    Pythonのsuper(type、object)とsuper(supertype、type)の違いは何ですか?

  29. 29

    C#の式におけるnew Object()とnew Object {}の違いは何ですか

ホットタグ

アーカイブ