将对象分配给javascript多维数组中的数组
assign object to array in javascript multidimensional array
下面我给出了我的代码,这是一个javascript函数,它调用php文件并获取json数据。。。。所有的东西都是完美的,但当我想将数据添加到多维数组时,我遇到了问题。。很抱歉这个问题。。我不知道它能不能完成。
我想做什么
- 我想在ajax调用中检索数据,并将这些数据保存到数组中
- 所以如果我再次需要数据,我就不需要再打电话了
- 所以我想将数据存储在多维数组中,该数组将有两个键
- 第一个关键字将是iof数组的长度
- 第二个是我的数据的dataType,可以是"name"、"id"、"description"
- 这样做对吗
- 如果不是,我该怎么办。。。?帮帮我
- 或者,我可以将ajax调用成功获得的完整jsondata对象数据分配给数组吗
我的问题新增要求它的关联数组类似于我的php数据数组,类似于
$data[0]["id"] = 1;
$data[0]["name"] = "spomething";
$data[0]["descriptoon"] = "spomething";
$data[0]["image"] = "spomething";
//for second item
$data[1]["id"] = 1;
$data[1]["name"] = "spomething";
$data[1]["descriptoon"] = "spomething";
$data[1]["image"] = "spomething";
所以我想为javascript创建相同的数组。。。我拿的每一件东西。。。来自ajax../并包含到javascript数组中。。。
$('.searchButton').bind("mouseover", function() {
var data = $(this).parents('.item').attr('id');
var type = $(this).parents('.tab-pane').attr('id');
// dataArray will be global javascript variable because of its needdss... it will be outside the function
var dataArray = new Array();
$.ajax({
type: 'GET',
url: '<?php echo $this->createUrl("dining/AjaxItemDetailsCall") ?>/data/'+data,
dataType: 'json',
async: false,
success: function(data){
var dataArrayLength = dataArray.length;
dataArray.push({dataArrayLength:data});
console.log(dataArray[0]);
}
});
});
现在我根据你的建议修改了我的代码,我可以通过推送fn推送数组中的数据对象。。。现在我该如何从该对象调用内部数据。。。。!
Object {dataArrayLength: Object}
dataArrayLength: Object
description: "World famous roasted Chicken, avacado, fresh mushrooms, red onions. Mozzarella cheese and our secret sauce."
id: "11"
images: "/htdocs/kiosk/images/dining/items/pizzas/11.jpg"
name: "Bella Notte Signature Pizza"
price: "4.50"
raters: "10"
ratings: "1"
__proto__: Object
__proto__: Object
这是console.log(dataArray[0])的输出…所以现在我想从中获取"id"、"name"、"description",我该怎么做…??/
我的问题解决方案
success:function(data){
var dataArrayLength = dataArray.length;
dataArray.push(data);
dataArray.forEach(function(object,index){
console.log(object.id);
console.log(object.name);
console.log(object.description);
console.log(object.image);
console.log(object.ratings);
});
这就是我想做的。。。
试试这个:
$.ajax({
type:'GET',
url:'<?php echo $this->createUrl("dining/AjaxItemDetailsCall") ?>/data/'+data,
dataType: 'json',
async: false,
success:function(data){
dataArray = []; // empty it before pushing data into it...
dataArray.push(data);
}
});
我相信您可以直接将数据对象推送到dataArray中。当你访问这个简单的访问时,它就像dataArray[i].id、dataArray[i].name等等,用于所有的数据键。
我不太确定我能理解,但你不能简单地做到:
$.ajax({
type:'GET',
url:'<?php echo $this->createUrl("dining/AjaxItemDetailsCall") ?>/data/'+data,
dataType: 'json',
async: false,
success:function(data){
var dataArrayLength = dataArray.length;
dataArray.push({'id':data.id,'name':data.name,'image':data.image,'description':data.description});
}
});
});
甚至:
dataArray.push(data);
我还没有测试过这个,所以把它看作伪代码,但我相信推送方法就是你想要的吗?
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript