0

次のようにマップを作成しています。

    var employeeMap = new Object();
   addElement(employeeMap , 1, "ABC");
   addElement(employeeMap , 2, "ABCD");

    alert(getElement(employeeMap,1)); // ABC

    function addElement(map,key,value){
        map[key] = value;
        return map;
    }

    function getElement(map,key){
        return map[key];
    }

マップからキーと値のペアを削除するには? map[key] = null を設定するのは唯一のオプションですか?

ありがとう、シカ

4

2 に答える 2

1

キーと値のペアを実際に削除するには、httpsdelete : //developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/delete を使用します。

したがって、要素を削除する関数を作成できます。

function deleteElement(map, key)) {
    if (map.hasOwnProperty(key) {
        delete map[key];
    }
}

そして、次のように呼び出します。

deleteElement(employeeMap, 2);

アップデート:

しかし、私が読んでいるように、成功した場合、および削除できない場合にのみdelete返されます(いくつかの理由により)。したがって、実際のバージョンは他の回答の内容になると思います:truefalse

function deleteElement(map, key)) {
    return (delete map[key]);
}
于 2013-01-29T05:57:21.793 に答える
0

使用delete:

delete employeeMap[1]

関数のパターンに従うには:

function deleteElement(map,key){
    return delete map[key];
}

deleteElement(employeeMap, 1);
于 2013-01-29T05:57:14.183 に答える