JS对象转数组

一、JS对象转数组方法如下(不考虑for相关遍历):

        1.[...res]

        2.Array.from(res)

        3.Object.values(res)

        4. Array.prototype.slice.call(res)

let obj = {name:'李四', age:22, gender:'男'} //可枚举 
let obj2 = {'0':'李四', '1':22, '2':'男', length:3} //可枚举 伪数组
let set = new Set([1,'2',true])// 可迭代
let map = new Map([[1, {name:'李四', age:22}], [2, [1,2,3]]]) // 可迭代
let arguments = function(){return arguments} //可枚举 可迭代 伪数组

二、具体使用

        1.[...res]

/* 适用于可迭代对象扩展运算符内部调用的是数据结构的 Iterator 接口,因此只要具有 Iterator 接口的对象,都可以使用扩展运算符
*/
console.log([...set]) // 可迭代
console.log([...map]) // 可迭代
console.log([...arguments(1,2,3)]) // 可迭代
console.log([...obj]) // 不可迭代

 

        2. Array.from(res)

 /* 适用于伪数组或可迭代对象何为伪数组?如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就是伪数组*/
console.log(Array.from(obj)) 
console.log(Array.from(obj2)) // 伪数组
console.log(Array.from(set)) // 可迭代
console.log(Array.from(map)) // 可迭代
console.log(Array.from(arguments(1,2,3))) // 伪数组和可迭代

        3. Object.values(res)

/* 适用于可枚举对象Object.values() 方法用于返回一个给定对象自身的所有可枚举属性值的数组
*/
console.log(Object.values(obj)) // 可枚举
console.log(Object.values(set)) 
console.log(Object.values(map))
console.log(Object.values(arguments(1,2,3))) //可枚举

4. Array.prototype.slice.call(res)

/* 适用于伪数组Array.prototype.slice.call(obj)可以理解成是让obj转换成一个数组对象,让obj具有slice()方法
*/
console.log(Array.prototype.slice.call(obj))
console.log(Array.prototype.slice.call(obj2)) // 伪数组
console.log(Array.prototype.slice.call(set))
console.log(Array.prototype.slice.call(map))
console.log(Array.prototype.slice.call(arguments(1,2,3))) // 伪数组

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143186.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

3种JavaScript 对象转数组的方法

来源 | https://www.fly63.com 我们在项目开发的时候,有时需要将js对象转换为数组,下面小编给大家具体演示一下怎么转换,主要是介绍一些常用、简洁的转换方法。 比如JavaScript对象如下: let obj {name: 前端,url: https://www.w…

对象数据如何转化成数组

文章目录 前言一、后端给的数据二、如何转换三、最终结果 前言 项目中后端给的数据有时候不可能完全符合前端的数据要求,比如element-uivue项目组合中,下拉框数据是数组的形式。然而后端同事给的确是对象数据,当然你可以和后端协商改成你想要…

json对象转对象数组

对象的两种取值方式 let obj {name: wan}; console.log(obj.name); //wan这是最普通的一种方式,还有一种方式我们用的不太多,就是使用[]包住属性名取值 let obj {name: wan}; console.log(obj[name]); //wan将对象转化为数组 let obj {未完成:5, 已…

将数组转换为对象

本文翻译自:Convert Array to Object What is the best way to convert: 转换的最佳方式是什么: [a,b,c]to: 至: {0: a,1: b,2: c }#1楼 参考:https://stackoom.com/question/Hghl/将数组转换为对象 #2楼 Quick and dirty #2…

js把对象转换成数组

1.把类似数组的对象转换成数组 【1】什么是类似数组的对象 比如: let arrayLike {0:"z",1:"y",2:"k",length:3 }; 本质是有length属性,可以类似数组的获取元素的方式arrayLike[0]、arrayLike[1]去获取元素&#xff0…

js数组转对象

js数组转对象 1.js var list {}; var arr ["123","456","789"]; for (var key in arr) {list[key] arr[key]; } console.log(list); 效果:

JS 中的类数组对象如何转换为数组?

大家好,我是前端西瓜哥,今天说一下 JS 的类数组对象是什么,以及如何将类数组对象转为数组。 类数组对象是什么? 类数组对象,就是含有 length 属性的对象,但这个对象不是数组。 通常来说还会有 0 &#x…

js中对象转数组

今天睡前看到小组群里贴了这么一张图,印象中曾经面试的时候好像也是遇到过,对于大佬们来说这肯定是很基础的一道题,在此分享给正在学习前端和正在面试的小伙伴们。 这里我用fo……in……实现了两种取值方式的改变 let obj {json:0,production…

(十六)创建Lua脚本模板

Unity里能创建 c#脚本模板,但是如果我想创建Lua脚本模板怎么办呢?拓展一下编辑器吧。 设置一下Lua脚本的模板地址 : Assets/Editor/Lua/Template/lua.lua using UnityEngine; using UnityEditor; using System; using System.IO; using Sys…

Unity(二十):创建自定义脚本模板

编辑器内部自定义脚本存储位置展示 创建自己的自定义脚本 using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; using UnityEditor; using UnityEditor.ProjectWindowCallback; using UnityEngine;internal class C…

修改Visual Studio中C#中的默认脚本模板方法

目录 一、修改后的效果 二、修改Visual Studio中C#的默认脚本步骤 三、验证修改模板是否成功 一、修改后的效果 二、修改Visual Studio中C#的默认脚本步骤 ①如果按照Visual Studio的默认安装路径安装该IDE,则路径为: C:\Program Files (x86)\Microsoft Visual …

Unity 添加,修改默认创建脚本模板

Unity 默认创建的脚本可以添加也可以修改,不需要修改Editor。 一、找到模板目录 \Editor\Data\Resources\ScriptTemplates 二、如果要修改模板,直接打开修改就可以了,每个模板都是可以修改的。 修改默认unity创建的脚本: 三、如…

Unity编辑器VS的脚本模板(Script Templates)设置

最近在用Unity做小游戏玩儿时,经常需要用到添加一些整体的说明或者相关系列脚本开发的功能,每一次都需要去手动的敲一下题头说明,虽然也只是从一个脚本copy题头过来修改,但是也是挺麻烦的,做的只是无用功重复&#xff…

unity修改脚本模板

文章目录 前言 前言 在unity有时候创建脚本的时候,会频繁加一些命名空间或者要继承基类并且重写方法,在这里记录一下,修改一下创建脚本时默认模板。 打开安装的unity, 将 81-C# Script-NewBehaviourScript.cs 移动到桌面 使用VS打…

Unity 自定义脚本模板

找到模板 C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates修改模板 将自己想要自定义模板的原版复制一个副本,并自定义名称 80:序号;Tmz Script:一级列表中的名称;NewTmzScript:新建出来…

pygame安装成功了但却无法导入求大神解

setting里面也设置成功使用了 就是无法导入 有懂得大神指导一下吗 2.8 后面发现是版本不兼容导致的

Pygame下载和安装

Pygame 的下载非常简单,可分为两种方式:一是通过 Python 的包管理器 pip 来安装;二是下载二进制安装包进行安装。其中使用 pip 包管理器安装是最简单、最轻量级的方法,下面以 Windows 系统为例对上述两种方式进行讲解。 图1&#…

pip install pygame安装报错解决方案

针对pip install pygame安装报错的两种不同的解决方法: 一:若python中已经安装好了pip,但pip install pygame却报错的话,可以尝试以下步骤: (1)开始,输入cmd (2&#…

Pygame安装心得

Pygame安装 想必很多人都是从《Python编程:从入门到实践》来的,第一次安装Pygame,我也一样。现在我来谈谈我的安装心得。我的系统是win10。 打开CMD 键盘winR打开运行界面,输入cmd,回车。 (这个黑东西…