将用户输入插入到对象数组中
Inserting user input into an array of objects
我有一个对象数组,其中包含有关用户邮政编码,地点和收集日期的信息。我希望能够为新注册用户插入新的邮政编码。目前,我的代码会搜索对象数组以查看邮政编码是否已存在,如果存在,则会通知用户它已经注册。这工作正常。有人可以帮我向对象数组添加新的邮政编码吗?正如您在下面看到的,我已经尝试过了,但它不起作用。谢谢。
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");
}
}
}
它实际上比你做的要简单。 你想要更像:
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");
}
}
}
以下是将另一个对象插入数组的一种方法:
function AddUser() {
postcodes.push(
{ 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;
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");
}
}
}
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序