前端inn

公众号ID:前端inn

关注

作者:冥冥之中立刻有

1. 快速理解伪数组

  • 相关概念

    • 伪数组也称为类数组
    • 伪数组是一个对象
  • 伪数组的特点

    • 【1】具有length属性
    • 【2】按索引方式存储数据
    • 【3】不具有数组的push,pop等方法

2. 伪数组的相关应用

2.1 function内的arguments

function fun() { // arguments 获取函数所有参数 console.log(arguments)}

fun(1, 2);

2.2 特殊写法的对象

// 不是伪数组var obj01 = {}var obj02 = {length: 3};

// 是伪数组var obj03 = {};obj[0] = 'one';obj[1] = 'two';obj[2] = 'three';obj.length = 3;

var obj04 = {length:0};var obj05 = {0:'web',length:1};var obj06 = {99:'inn',length:100};

2.3 某些方式获取的集合(HTMLCollection,NodeList)

【1】document.forms【2】Form.elements【3】Select.options【4】document.getElementsByName()【5】document.getElementsByTagName()【6】childNodes/children

3. 如何区分真伪数组

  • 区分伪数组

    • 【1】不是对象,直接判断不是伪数组
    • 【2】是对象,没有length属性,那就不是伪数组
    • 【3】有length属性,值必须是number
    • 【4】length值是number类型,值不为零,这个对象按照下标存储数据
  • 判断真数组
【1】数据 instanceof Array【2】Object.prototype.toString.call(数据) === '[object Array]'【3】Array.isArray(数据)
  • 案例演示:
html><html lang="zh-CN">

<head>    <meta charset="UTF-8">    <title>区分真伪数组title>head>

<body>    <script>// 真数组var arr = [1, 2, 3];// 伪数组var objArr = {1: '前端',2: 'inn',length: 3        };// 伪数组var objArr = {1: '前端','2': 'inn',length: 3        };// 真数组的获取console.log(arr[0]); // 1console.log(arr['1']); // 2console.log(arr[2]); // 3// 伪数组的获取console.log(objArr[0]); // undefinedconsole.log(objArr['1']); // 前端console.log(objArr[2]); // inn// 【1】数据 instanceof Arrayconsole.log(arr instanceof Array);   // trueconsole.log(objArr instanceof Array);  // false// 【2】Object.prototype.toString.call(数据) === '[object Array]'console.log(Object.prototype.toString.call(arr) === '[object Array]');     // trueconsole.log(Object.prototype.toString.call(objArr) === '[object Array]');  // falseconsole.log(Object.prototype.toString.call(objArr) === '[object Object]'); // true// 【3】Array.isArray(数据)console.log(Array.isArray(arr))  // trueconsole.log(Array.isArray(objArr))  // falsescript>body>

html>

4. 将伪数组转成真数组

  • 案例演示
html><html lang="zh-CN">

<head>    <meta charset="UTF-8">    <title>将伪数组转成真数组title>head>

<body>

    <script>// 伪数组var objArr = {1: '前端','2': 'inn',length: 3        };console.log(objArr);var arr = Array.prototype.slice.call(objArr);console.log(arr);script>body>

html>
  • 运行结果图

?友情提示

如果需要素材,请加学习群 QQ群:1141255876

若你对前端开发有兴趣,请关注前端inn!!!

js中遍历数组加到新数组_JS中的真伪数组相关推荐

  1. js map遍历 修改对象里面的值_js中那些方法不改变原来的数组对象

    一.map方法 [javascript] view plain copy function fuzzyPlural(single) { var result = single.replace(/o/g ...

  2. C语言试题六十三之请编写函数fun:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

    1. 题目 请编写函数fun,其功能是:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研 ...

  3. 表间数据复制--SELECT表中的数据插入到新的表中(ORACLE,MSSQL)

    表间数据复制--SELECT表中的数据插入到新的表中 --在Oracle 9i中 CREATE TABLE scott.test AS (SELECT DISTINCT empno,ename,hir ...

  4. js中遍历数组加到新数组_JS几种数组遍历方式总结

    JS数组遍历的几种方式 S数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一 ...

  5. js中遍历数组加到新数组_js数组遍历:JavaScript如何遍历数组?

    什么是数组的遍历? 操作数组中的每一个数组元素. 使用for循环来遍历数组 因为数组的下标是连续的,数组的下标是从0开始. 我们也可以得到数组的长度. 格式:for(var i=0;i 数组变量名[i ...

  6. js中遍历数组加到新数组_javaScript 遍历数组方法总结

    数组和对象一样都是引用数据类型,数组中的数据按照顺序排列,从0开始,把这个叫做索引,也叫做下标,把数组中的每个数据叫做元素,或者简称元 . 数组的新建方式有字面量创建和构造函数创建两种方法 字面量创建 ...

  7. JS中数组的常用方法(concat拼接,join修改间隔符,pop移除最后一个元素,push在数组最后添加新的元素,reverse反转数组元素,shift移除第一个元素,unshift添加,spli)

    <html><head><title>js数组的常用方法</title><meta charset="UTF-8"/>& ...

  8. Java 类中各成分加载顺序和内存中的存放位置

    一.什么时候会加载类? 使用到类中的内容时加载:有三种情况 1.创建对象:new StaticCode(); 2.使用类中的静态成员:StaticCode.num=9; StaticCode.show ...

  9. js 实现2的n次方计算函数_JS中数据结构与算法---排序算法

    排序算法的介绍 排序也称排序算法 (Sort Algorithm),排序是将 一组数据 , 依指定的顺序 进行 排列的过程 . 排序的分类 内部排序 : 指将需要处理的所有数据都加载 到 内部存储器( ...

最新文章

  1. struts2文件上传大小限制问题小结(引用)
  2. 凡科虚拟服务器怎样做301,虚拟主机301重定向怎么做?网站301重定向方法之一
  3. android 颜色值参考,(有颜色图
  4. Struts2-表单验证的两种方式
  5. cent 8.0 安装tomcat 9.0_JDK-TOMCAT-MYSQL安装
  6. 黑科技(next_permutation和prev_permutation)
  7. 【黑金ZYNQ7000系列原创视频教程】06.ZYNQ来自FPGA的中断——按键中断实验
  8. BLOB,TEXT GEOMETRY or JSON column 'xxx' can't have a default value query问题解决
  9. jQuery中的attr()与prop()设置属性、获取属性的区别
  10. 知名IT公司的年度大会合集
  11. 357.计算各个位数不同的数字个数
  12. ORCAD 16.6使用说明及技巧
  13. 如何防止数据库中的信息被“脱库”-笔记
  14. Windows 进程激活服务
  15. 【打印机】mac上添加打印机
  16. 小程序外链,实现桌面图标、短信和邮件外链跳转到小程序的工具
  17. creator创建密匙库,查询密匙库密匙,校对密匙
  18. Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container..
  19. 深度学习进阶课程16---用ReL解决Vanishing Gradient问题
  20. 支付系统 java_PaySystem

热门文章

  1. 基于 Canal 和 Kafka 实现 MySQL 的 Binlog 近实时同步
  2. 企业网站+Axure企业官网通用模板+公司官网通用模板+web端高保真原型+门户官网+物流企业+门户网站+服务中心+产品中心+新闻中心+帮助中心+企业官网+公司官网+公司网站+登录注册+高保真交互
  3. Axure电商后台业务管理系统原型模板+app电商原型交互+移动端电商通用PRD文档+全局交互用例说明+Axure高保真电商社交prd文档
  4. PYcharm简单安装教程
  5. PKU 3013 Big Christmas Tree 最短路 spfa
  6. 4月27日--28日课堂内容
  7. opencv函数制作的秒针模型
  8. 深度学习的最新研究进展(三)
  9. [USACO09HOL]假期绘画Holiday Painting
  10. 函数和常用模块【day04】:内置函数(十)