有时在使用字典时,我们只需要字典的键作为某些任务的数组即可。我们可以使用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方法一样可用,并且可以像这样使用。