将数组添加到关联数组/对象

时间:2019-02-05 21:12:53

标签: javascript jquery arrays json object

我是Java的新手,我想知道如何在JavaScript中创建关联数组。我想将主数组中的数组推入关联数组。我知道如何用PHP做到这一点。

等效的PHP:

$associativeArray = [
    [
        'name' => 'Bob',
        'age' => '18',
        'address' => '442 Grand Ave'
    ],
];

我该如何在Javascript中做同样的事情?

这是我的代码:

var mainArray = {};

var arr = [];
arr['name'] = 'Bob';
arr['age'] = '18';
arr['address'] = '442 Grand Ave';

arr.push(mainArr);

console.log(mainArr); // output: {}

2 个答案:

答案 0 :(得分:2)

在Javascript中,您使用{...}定义objects(键值对,大致等效于PHP中的关联数组),并使用[...]定义arrays。您正在寻找的是:

var arr = [];

var obj = {};
obj['name'] = 'Bob';
obj['age'] = '18';
obj['address'] = '442 Grand Ave';

arr.push(obj);

console.log(arr);

或更简洁地说:

var array = [{
  name: 'Bob',
  age: '18',
  address: '442 Grand Ave',
}];

console.log(array); // output: {}

请注意,JavaScript确实允许在单个对象上混合数字索引(例如arr[0])和字符串键(例如obj['name']),但实际上,通常不建议这样做,因为它可以相当混乱。

答案 1 :(得分:1)

JavaScript与PHP有很多不同。您使用PHP展示的示例不适用于JavaScript。我不确定您要实现的目标到底是什么,但这是您尝试执行的更新代码。

var mainArray = {};

var arr = [];
mainArray['name'] = 'Bob';
mainArray['age'] = '18';
mainArray['address'] = '442 Grand Ave';

arr.push(mainArray);

console.log(arr);