数字索引谁可以用?

数组是对象的特殊形式,可以使用方括号访问数组元素.

在js中,js将指定的数字索引值转换成字符串,像下面这个例子,索引1 编程‘1’ ,然后再将其作为属性名来使用。

所以,方括号[]里面的数字索引,加不加引号都可以。

  

    

对一般的非类数组对象来说,它不是数组,不可以使用数字索引,只能通过属性名字来访问。

数字索引,只属于数组或类数组。

像下面obj这个把6作为属性名字的,不算是索引法访问

  

  

  而obj[0] 就 gg了
         

 小结:

  事实上,还是开头那句话,数组是对象的一种特殊形式,只不过这种样子的对象,把属性名默认为了从0开始的数字索引。

数组索引页仅仅是对象属性名的一种特殊类型。

  所以,就可以解释上面为什么obj对象没有数字索引,因为js会把数字索引当成属性名来解析,obj[0] ,因为并没有属性名为0的属性,自然就返回undefined;



时间: 2024-10-12 21:57:54

数字索引谁可以用?的相关文章

Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题

//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_available_rate] => Array ( [title] => Best Available Rate [room_promotion_id] => best_available_rate ) [30] => Array ( [room_promotion_id] =>

SqlBulkCopy excel 字段映射解决办法二 使用数字索引代替 字段名称 做映射 避免字段中有中文 大小写等情况

多线程的SqlBulkCopy批量导入.事务和SqlBulkCopy使用的数据集中自定义映射字段的注意事项 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

php删除二维数组的空值并重新建立数字索引

<?php$arr=[0=>"p",1=>"a",2=>"b",3=>"c",4=>"",5=>"d",6=>""];$arr2=array(0=>"p",1=>"a",2=>"b",3=>"c",4=>&quo

Lua Table pairs输出顺序问题 (版本差异 解决数字索引间断并兼容字符串索引)

问题标签: Lua Table 迭代器;Lua Table 输出顺序; Lua Table 顺序输出;Lua Table 数字索引 字符串索引;Lua Table pairs; 问题背景: 使用pairs输出table时,其输出顺序与通常认知不相符. 例如使用pairs输出如下table T = { [1] = "1", [2] = "1", [3] = "1", [4] = "1", [5] = "1",

php数组转json对象并保留数字索引

本文要解决的问题是php不带索引的数组转换为json对象(而非默认的json数组) php中数组转json使用的方法是系统自带的:json_encode php中数组转json的规则是:当没有指定索引时会转换为json数组,而指定了索引会转换为json对象. 那么问题来了,如果需要将一个没有索引的数组转换为json对象该怎么办,先来看下这两种情况: 1.没有指定索引的情况: $val = array("a","b","c","d&quo

php数字索引数组去重及恢复索引

$tmp = array('a','b','c','a'); $tmp = array_values(array_unique($tmp)); print_r($tmp);exit; //输出 Array( [0] => a [1] => b [2] => c) array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名.被返回的数组将使用数值键,从 0 开始并以 1 递增. array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元

jsoncpp封装和解析字符串、数字、布尔值和数组

使用jsoncpp进行字符串.数字.布尔值和数组的封装与解析. 1)下载jsoncpp的代码库 百度网盘地址 :http://pan.baidu.com/s/1ntqQhIT 2)解压缩文件 jsoncpp.rar unzip jsoncpp.rar 3)修改jsoncpp/src/main.cpp文件 vim src/main.cpp 1 #include <string> 2 #include <json/json.h> 3 #include "stdio.h&quo

18 PHP数字与字符运算 do while ,for 数组 函数 局部通信 时间日期

转义字符 赋值传值/引用传值 [PHP中的数字与字符运算] do while循环 for循环 红白黑球问题 [提高代码质量--红白黑球问题] 赋值传值和引用传址 数组 枚举数组 关联数组 数组的创建 使用array()函数创建数组 重载数组下标 多维数组 数组操作函数 print_r() unset() count() foreach() 数组元素的删除和增加函数 array_shift() array_values() list() 计算机运行时间计算 函数的概念 函数的语法结构 函数结构说明

array_merge和array_values重排索引数组性能比较

###?array_merge?合并一个或多个数组 array?**array_merge**?(?array?`$array1`?[,?array?`$...`?]?) 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组. -?如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将_不会_覆盖原来的值,而是附加到后面.-?如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引. ###?ar