有时在使用字典时,我们只需要字典的键作为某些任务的数组即可。我们可以使用Object.keys轻松获得对象的属性。我们将使用此方法从容器对象返回键。
keys() {
return Object.keys(this.container);
}您可以使用以下方式进行测试:
const myMap = new MyMap();
myMap.put("key1", "value1");
myMap.put("key2", "value2");
console.log(myMap.keys());输出结果
这将给出输出-
[ 'key1', 'key2' ]
在ES6 Map中,可以使用相同的方法。请注意,它返回一个MapIterator对象,您可以将其转换为数组或像普通迭代器一样使用。例如,
const myMap = new Map([ ["key1", "value1"], ["key2", "value2"] ]); console.log(myMap.keys())
输出结果
这将给出输出-
MapIterator { 'key1', 'key2' }同样,在某些情况下,仅需要字典的值。对于这种情况,我们需要遍历字典并收集值。例如,
values() {
let values = [];
for (let key in this.container) {
values.push(this.container[key]);
}
return values;
}您可以使用-测试这些方法
const myMap = new MyMap();
myMap.put("key1", "value1");
myMap.put("key2", "value2");
console.log(myMap.values());输出结果
这将给出输出-
[ 'value1', 'value2' ]
同样在ES6 Map中,此方法与keys方法一样可用,并且可以像这样使用。