javascript - js数组自定义属性名?
巴扎黑
巴扎黑 2017-04-11 10:29:50
[JavaScript讨论组]

js数组中添加自定义属性为:
arr.age=18;
arr.name=Tomy;
如何在for循环html元素动态向Arr1数组添加元素
例如:我想添加一个input:name=sex
为什么不能是
Arr1.inputs[i].name=input[i].value;
也不能
inputName = input[i].name;
Arr.inputName=input[i].value; //这个是明显不对的,在循环中会被最后一个完全部覆盖

求教数组的属性不能是动态的吗?

巴扎黑
巴扎黑

全部回复(4)
黄舟

//你是要这种?

Arr1[inputs[i].name]=input[i].value
阿神

js,数组本身就是动态的,没有必要想java等用for循环去添加元素,直接push就可以了。
另外我感觉你对数组的理解上可能有问题,直接给数组添加属性,这个事在语法上事合法的,但是习惯上没有人会这么做。arr.age=18;这种写法,一看就是业余的。
一般来讲,大家都是这么用js数组的:
var arr =[];//声明空数组
arr.push({name:"Tomy",age:18});//向数组中添加一个包含姓名和年龄的对象

阿神

var abc 和 Arr1.abc 中的 abc 是两个没关系的 abc,如果要动态的话,就不能使用 . 了,需要使用 [xx]:

var abc = input.name;
Arr1[abc] = input.value; // 或者直接 Arr1[input.name] = input.value;

不过这种在 Js 中一般叫 对象 (Object),不叫数组(Array)

大家讲道理

如果Arr1 本身就是数组,则直接

Arr1[i].name=input[i].value;

就可以了。

另外 只要不是undefined,null,都可以赋值,当然,number,boolean,string 赋值了也没啥用。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号