我有一组对象,其中包含有关用户邮政编码,地点和收集日期的信息。我希望能够为新注册用户插入新的邮政编码。在那一刻,我的代码搜索对象数组以查看邮政编码是否已经存在,如果是,则通知用户它已经注册。这很好用。有人可以帮我添加一个新的邮政编码到对象数组吗?我试过了,正如你在下面看到的那样但它不起作用。谢谢。
var postcodes =
[
{ postcode: "BT486AA1", place: "Londonderry Park, Londonderry", dates: ["16/05/2014", "18/06/2014", "19/07/2014"] },
{ postcode: "BT486AB1", place: "Londonderry Park, Londonderry", dates: ["17/05/2014", "11/06/2014"] },
{ postcode: "BT486AD1", place: "Londonderry Park, Londonderry", dates: ["14/05/2014", "20/06/2014"] },
{ postcode: "BT486EL1", place: "Londonderry Park, Londonderry", dates: ["16/05/2014", "18/06/2014", "19/07/2014"] },
{ postcode: "BT171JR6", place: "Londonderry Park, Londonderry", dates: ["17/05/2014", "11/06/2014"] },
{ postcode: "BT171JR7", place: "Ballyregan Park, Londonderry", dates: ["14/05/2014", "20/06/2014"] },
{ postcode: "BT171JR1", place: "Ballyregan Park,Londonderry", dates: ["16/05/2014", "18/06/2014", "19/07/2014"] },
{ postcode: "BT171JR2", place: "Ballyregan Park, Londonderry", dates: ["17/05/2014", "11/06/2014"] },
{ postcode: "BT181JR3", place: "Ormeau Park, Londonderry", dates: ["14/05/2014", "20/06/2014"] },
{ postcode: "BT181JR4", place: "Ormeau Park, Londonderry", dates: ["16/05/2014", "18/06/2014", "19/07/2014"] },
{ postcode: "BT191JR6", place: "Main Street, Londonderry", dates: ["17/05/2014", "11/06/2014"] },
{ postcode: "BT191JR7", place: "Main Street, Londonderry", dates: ["14/05/2014", "20/06/2014"] }
];
function RegisterUser() {
for (var i = 0; i < postcodes.length; i++) {
var postCode = document.getElementById("pc2").value;
if (postcodes[i].postcode === postCode) {
alert("The postcode you entered is already registered");
}
else {
AddUser();
}
}
}
function AddUser() {
var postCode2 = document.getElementById("pc2").value
var newUser = postcodes[i].postcode;
for (var i = 0; i < postcodes.length; i++) {
if (newUser.indexOf(postCode2) === -1) {
postcodes[i].postcode.push(postCode2);
alert("Postcode Registered : " + postCode2 + " Smart Waste Management Scheme will be in contact regarding your step towards smart waste");
}
}
}
答案 0 :(得分:0)
以下是将另一个对象插入数组的一种方法:
function AddUser() {
postcodes.push(
{ postcode: "BT191JR7", place: "Main Street, Londonderry", dates: ["14/05/2014", "20/06/2014"] }
);
}
答案 1 :(得分:0)
它实际上比你制作的更简单。你想要更像的东西:
postcodes.push({postcode: postCode2, place: "Some place, etc." }); // plus any other properties you may be adding
在上下文中,它看起来像这样:
function AddUser() {
var postCode2 = document.getElementById("pc2").value
var newUser = postcodes[i].postcode;
for (var i = 0; i < postcodes.length; i++) {
if (newUser.indexOf(postCode2) === -1) {
postcodes.push({postcode: postCode2});
alert("Postcode Registered : " + postCode2 + " Smart Waste Management Scheme will be in contact regarding your step towards smart waste");
}
}
}
答案 2 :(得分:0)
看起来你不想要一个全新的用户。看起来您只想将邮政编码添加到邮政编码中的现有对象。 添加一个完整的新对象将不允许您只添加到现有的邮政编码。
此代码允许您使用一个对象并将新用户添加到现有邮政编码。
function RegisterUser() {
for (var i = 0; i < postcodes.length; i++) {
var postCode = document.getElementById("pc2").value;
var passPostcode = postcodes[i].postcode;
if (passPostcode === postCode) {
alert("The postcode you entered is already registered");
break;
}
else {
AddUser(passPostcode);
}
}
}
function AddUser(newUser) {
var postCode2 = document.getElementById("pc2").value
this.newUser = newUser;
for (var i = 0; i < postcodes.length; i++) {
if (this.newUser.indexOf(postCode2) === -1) {
var str_postcode = postcodes[i].postcode;
var addedNewPostCodeToString = str_postcode + ',' + postCode2;
//postcodes[i].postcode is not an array. Push will not work. You will need to concatenate the string and will need to add a delimiter
postcodes[i].postcode = addedNewPostCodeToString; //delimited with comma.
alert("Postcode Registered : " + postCode2 + " Smart Waste Management Scheme will be in contact regarding your step towards smart waste");
}
}
}