gpt4 book ai didi

javascript - 如何将包含字段的元素添加到数组

转载 作者:行者123 更新时间:2023-11-29 15:03:26 25 4
gpt4 key购买 nike

如何使用 javascript 将包含字段(字段名称和字段值对)的元素添加到数组?
这样做的目的是稍后使用 ajax 将每个元素作为一行插入到数据库中。
只是为了确保 - 在数组准备就绪后,我应该能够以这种方式访问​​字段:

shopsArray[4].shopName

编辑:它适用于 Pointy 的回答,但我仍然遇到问题:

shopsArray.push( { shopId: 1, shopAddress: $('#newAddress' + j).val() } );

第一个值插入正常,但第二个有问题。
如果我提醒 $('#newAddress' + j).val(),我会得到正确的值,该值已插入网页的字段中。
但是,如果我提醒 shopsArray[lastElementNumber].shopAddress,我会得到 undefined

你能看出这里有什么问题吗?

编辑 2:更详细的代码:

// save changes in main shop
shopsArray[0].shopName = $('#mainName').val();
shopsArray[0].shopAddress = $('#mainAddress').val();

// save secondary branches to array
for (var i=1; i<shopsArray.length; i++){
shopsArray[i].shopName = $('#secondaryName' + i).val();
shopsArray[i].shopAddress = $('#secondaryAddress' + i).val();
}

// save new branches to array
for (var j=1; j<=newshopsCounter; j++){

var bName = $('#newName' + j).val();

shopsArray.push({shopId: -1, userId: shopsArray[0].userId, shopName: bName, shopAddress: $('#newAddress' + j).val()});

alert(bName);
alert(shopArray[1].shopName);
alert(shopsArray[1].shopId);
}

第一个和第三个警报给出了正确的值。第二个给出 undefined

最佳答案

你的意思是类似

shopsArray.push({ shopName: "Fred", value: "Ethel" });

?

编辑 — 现在我知道这是您想要做的事情,我会澄清一下。

JavaScript 具有“对象字面量”语法,允许将对象直接创建为值。语法涉及属性名称和值的列表,名称和值由冒号分隔,每一对由逗号分隔。因此:

var anObject = { someProperty: "the value" };

创建一个具有一个属性的对象并将其分配给变量“anObject”。这实际上等同于:

var temp = new Object();
temp["someProperty"] = "the value";
var anObject = temp;

对象字面量中属性的“值”部分可以是任何表达式,但属性名称必须是字符串常量或标识符(无论哪种情况,它都被处理字符串常量)。因此,您可以创建一个具有属性的对象,该属性的值来自调用某个函数:

var fancyObject = { "temperature": getTemperature() };

对象文字表达式是值,可以用在任何可以使用表达式的地方,包括函数调用参数。因此,要将对象添加到数组,可以调用数组“.push()”函数并使用对象字面量作为参数,如第一个示例所示:

shopsArray.push({ shopName: "Cheese Shoppe", shopPhone: "111 222 3232" });

您甚至可以将对象字面量包含在另一个对象字面量中,作为属性的值:

shopsArray.push({
shopName: "Cheese Shoppe",
shopAddress: {
street1: "207 High Street",
street2: "No. 5",
city: "Austin",
state: "TX"
}
});

关于javascript - 如何将包含字段的元素添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com