地图JavaScript中的条目()

什么是JavaScript中的映射?

null
  • Map是JavaScript中的一种数据结构,允许存储[key,value]对,其中任何值都可以用作键或值。
  • 地图集合中的键和值可以是任何类型,如果使用集合中已存在的键将值添加到地图集合中,则新值将替换旧值。
  • 映射对象中元素的迭代是按插入顺序进行的,“for…”循环为每次迭代返回一个包含所有[key,value]对的数组。

JavaScript中对象和映射之间的差异 这两种数据结构在许多方面都是相似的,例如都使用键存储值,允许使用键检索这些值,删除键,以及验证键是否包含任何值。然而,JavaScript中的对象和映射之间存在着相当大的差异,这使得在许多情况下,映射的使用成为更好、更可取的选择。

  • 地图中使用的键可以是任何类型的值,如函数、对象等,而对象中的键仅限于符号和字符串。
  • 使用size属性可以很容易地知道地图的大小,但在处理对象时,必须手动确定大小。
  • 在需要频繁添加和删除[key,value]对的情况下,应该首选映射,因为映射是一种迭代数据类型,可以直接迭代,而迭代对象需要以特定方式获取其密钥。

地图JavaScript中的entries()方法 地图。JavaScript中的entries()方法用于返回迭代器对象,该对象包含映射中每个元素的所有[key,value]对。它按插入顺序返回映射中所有元素的[key,value]对。 地图。entries()方法不需要传递任何参数,并返回映射的迭代器对象。 应用: 每当我们想要使用迭代器对象获得映射中每个元素的所有[key,value]对时,我们都会使用映射。entries()方法。 语法:

mapObj.entries()

使用的参数:

  • 它不需要传递任何参数。

返回值:

  • 地图。entries()方法按插入顺序返回映射中所有元素的[key,value]对。

下面提供了上述功能的示例。

例子:

Input : var myMap = new Map();
        myMap.set(0, 'geeksforgeeks');
        myMap.set(1, 'is an online portal');
        myMap.set(2, 'for geeks');
        var iterator_obj=myMap.entries();
        document.write(iterator_obj.next().value,"<br>");
        document.write(iterator_obj.next().value,"<br>");
        document.write(iterator_obj.next().value,"<br>");


Output : Array [0, "geeksforgeeks"]
         Array [1, "is an online portal"]
         Array [2, "for geeks"]

说明:在本例中,使用三个[key,value]对创建了一个映射对象“myMap”,并创建了一个迭代器对象“iterator_obj”方法,该方法使用map。entries()方法,以按插入顺序返回映射中所有元素的[key,value]对。

代码1:

<script>
// creating a map object
var myMap = new Map();
// Adding [key, value] pair to the map
myMap.set(0, 'geeksforgeeks' );
myMap.set(1, 'is an online portal' );
myMap.set(2, 'for geeks' );
// creating an iterator object using Map.entries() method
var iterator_obj = myMap.entries();
// displaying the [key, value] pairs of all the elements of the map
document.write(iterator_obj.next().value, "</br>" );
document.write(iterator_obj.next().value, "</br>" );
document.write(iterator_obj.next().value, "</br>" );
</script>


输出:

     Array [0, "geeksforgeeks"]
     Array [1, "is an online portal"]
     Array [2, "for geeks"]

代码2:

<script>
// creating a map object
var myMap = new Map();
// Adding [key, value] pair to the map
myMap.set(0, 'Maps' );
myMap.set(1, 'in JavaScript' );
// creating an iterator object using Map.entries() method
var iterator_obj = myMap.entries();
// displaying the [key, value] pairs of all the elements of the map
document.write(iterator_obj.next().value, "</br>" );
document.write(iterator_obj.next().value, "</br>" );
</script>


输出:

     Array [0, "Maps"]
     Array [1, "in JavaScript"]

例外情况:

  • 如果变量不是映射类型,则映射。entries()操作抛出一个TypeError。
  • 如果与映射的[key,value]对相比,使用“迭代器_obj.next().value”的次数更多,则映射。函数的作用是:返回所有这些情况下的未定义项。

参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享