原因主要是:由于 Object 和 Array 这两个数据类型的属性和方法的不同,它们的返回值类型却不同。Object.entries 返回的是一个由属性名和属性值组成的字符串数组,而 Array.prototype.entries 返回的是一个由索引和值组成的数字数组。
Object.entries 和 Array.prototype.entries 都是 JavaScript 中常用的方法,它们都可以返回一个数组中的每个元素及其对应的下标。但是,由于 Object 和 Array 这两个数据类型的属性和方法的不同,它们的返回值类型却不同。Object.entries 返回的是一个由属性名和属性值组成的字符串数组,而 Array.prototype.entries 返回的是一个由索引和值组成的数字数组。尽管它们的返回值类型不同,但在不同的场景下,它们仍然有各自的应用。Object.entries 主要用于遍历对象的属性,而 Array.prototype.entries 则主要用于遍历数组的元素。
Object 和 Array 是 JavaScript 中两个不同的数据类型,它们的属性和方法也各自独立。因此,虽然 Object.entries 和 Array.prototype.entries 都可以返回一个由元素和索引组成的数组,但这些数组的类型和含义是不同的。
具体来说,Object.entries 返回的数组中,元素是由属性名和属性值组成的字符串数组,属性名是字符串类型,属性值可以是任意类型;而 Array.prototype.entries 返回的数组中,元素是由索引和值组成的数字数组,索引和值都是数字类型。
因此,虽然这两个方法都可以返回一个数组的每个元素及其对应的下标,但它们的返回值类型却不同。
Object.entries 返回的数组中,元素是由属性名和属性值组成的字符串数组。这是因为在 JavaScript 中,对象的属性名必须是唯一的字符串类型。因此,为了保持属性名的唯一性,Object.entries 返回的数组中的属性名是字符串类型。
而 Array.prototype.entries 返回的数组中,元素是由索引和值组成的数字数组。这是因为数组的索引必须是唯一的数字类型。因此,为了保持索引的唯一性,Array.prototype.entries 返回的数组中的索引是数字类型。
延伸阅读:
什么是Object?
对象object是经常用于模仿现实世界中我们身边的一些对象。
软件对象实际上是现实世界对象的造型,因为它同样有状态和行为。一个软件对象利用一个或者多个变量来维持它的状态。变量是由用户标识符来命名的数据项。软件对象用它的方法来执行它的行为。方法是跟对象有关联的函数(子程序)。
对象是理解面向对象技术的关键。用户在学习之前可以看看现实生活中的对象,比如狗、桌子、电视、自行车等等。用户可以发现现实世界中的对象有两个共同特征:它们都有状态和行为。比如狗有自己的状态(比如名字、颜色、生育以及饥饿等等)和行为(比如摇尾巴等等)。同样自行车也有自己的状态(比如当前档位、两个轮子等等)和行为(比如刹车、加速、减速以及改变档位等等)。
文章标题:为什么Object.entries和Array.prototype.entries的返回值类型不同,发布者:小编,转载请注明出处:https://worktile.com/kb/p/45987