【问题标题】:How to add value to javascript array two time or more?如何两次或更多次向javascript数组添加值?
【发布时间】:2014-07-15 09:16:57
【问题描述】:

这是我的代码,我有两个数组,想把它们放在另一个数组中,命名为数据:

data=[];
atIndex=0;
//userInfo is name and last name of user:
userInfo=['Mohammad','Kermani'];
//userKnow is stuff what a user know:
userKnow=['php','javascript'];

data[atIndex]=userInfo;

data[atIndex]=userInfo;
data[atIndex]=userKnow;

//I want to send data with json,and decode it with php:
console.log(data);

但现在只有最后一个数据在数据中

可能是嵌套数组或两个痴呆数组

DEMO

【问题讨论】:

  • 为什么你只使用索引0 来添加你的值。以及为什么多次使用它data[atIndex]=userInfo;data[atIndex]=userInfo;。使用Array.push()向数组添加元素
  • 您希望结果是什么样的?
  • 也许您正在寻找data.push()
  • @Barmar 我需要这样的东西:({Mohammad,Kermani},{php,javascript})
  • 使用 'data.push()' 进行推送

标签: javascript arrays json


【解决方案1】:

你可以把它变成一个对象数组...

data[atIndex] = { userInfo: userInfo, userKnow, userKnow };

可以像这样访问:

var userInfo = data[0].userInfo;
var userKnow = data[0].userKnow;

您的 JSON 最终会看起来像这样(换行符是为了便于阅读):

[ 
    { userInfo: ['Mohammad', 'Kermani'], userKnow: ['php', 'javascript'] }
]

就个人而言,如果您希望将用户信息与他们所知道的数组一起发送,那么请考虑这样的对象结构:

var userObject = {
    name1: 'Mohammad',
    name2: 'Kermani',
    userKnow: ['php', 'javascript']
};

你可以这样使用:

userObject.name1 = 'my name';// set name1
var name2 = userObject.name2;// get name2

【讨论】:

  • 我无法通过 var userInfo = data[0].userInfo; 访问数据;例如我想取名字
  • 在我的第一个示例中,data[0].userInfo 是一个数组,因此您可以访问像 data[0].userInfo[0];// 'Mohammad' 这样的值
猜你喜欢
  • 2014-02-15
  • 2017-09-16
  • 2012-02-21
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 2013-06-20
相关资源
最近更新 更多