Я пишу код, который имеет дело с объектом с именем createdCustomer
, определенным ниже,
createdCustomer: {
email: "string",
phoneNumber: "string",
mobileNumber : "string",
temporaryAddress : {
address1: "string",
address2: "string",
address3: "string",
address4: "string",
city: "string",
country: "string",
region: "string",
zipCode: "string"
},
customerNumber: "string",
locale: "string",
regNo: "string",
address: {
address1: "string",
address2: "string",
address3: "string",
address4: "string",
city: "string",
country: "string",
region: "string",
zipCode: "string"
},
salutation: "string",
firstName: "string",
middleName: "string",
lastName: "string"
}
и пытается присвоить значения из массива с именем formValues
, размер которого равен 26, что совпадает с количеством строк в createdCustomer
.
Пока мне удалось присвоить все значения массива следующим образом:
this.createdCustomer.email = formValues[0];
this.createdCustomer.phoneNumber = formValues[1];
this.createdCustomer.mobileNumber = formValues[2];
this.createdCustomer.temporaryAddress.address1 = formValues[3];
this.createdCustomer.temporaryAddress.address2 = formValues[4];
this.createdCustomer.temporaryAddress.address3 = formValues[5];
this.createdCustomer.temporaryAddress.address4 = formValues[6];
this.createdCustomer.temporaryAddress.city = formValues[7];
this.createdCustomer.temporaryAddress.country = formValues[8];
this.createdCustomer.temporaryAddress.region = formValues[9];
this.createdCustomer.temporaryAddress.zipCode = formValues[10];
this.createdCustomer.customerNumber = formValues[11];
this.createdCustomer.locale = formValues[12];
this.createdCustomer.regNo = formValues[13];
this.createdCustomer.address.address1 = formValues[14];
this.createdCustomer.address.address2 = formValues[15];
this.createdCustomer.address.address3 = formValues[16];
this.createdCustomer.address.address4 = formValues[17];
this.createdCustomer.address.city = formValues[18];
this.createdCustomer.address.country = formValues[19];
this.createdCustomer.address.region = formValues[20];
this.createdCustomer.address.zipCode = formValues[21];
this.createdCustomer.salutation = formValues[22];
this.createdCustomer.firstName = formValues[23];
this.createdCustomer.middleName = formValues[24];
this.createdCustomer.lastName = formValues[25];
, но поскольку это довольно жестко и избыточно, я хочу реорганизовать его, используя цикл.
Когда я посмотрел, как проходить через объект JavaScript, который содержит другой объект, я обнаружил, что на страницах только объяснялось, как проходить через "простые" объекты, например
myFriends : {
{
name: "John",
age: 23,
homeTown: "New York"
},
{
name: "Anna",
age: 25,
homeTown: "San Diego"
},
{
name: "Julian",
age: 20,
homeTown: "London"
}
}
Приведенный выше пример довольно легко пройти через цикл, потому что все 3 объекта имеют «одинаковую форму». Но мой случай, который имеет дело с createdCustomer
, может быть немного сложнее, потому что иногда вы встречаете простую строку, а иногда объект, который состоит из нескольких строк и т. Д.
Кроме того, вам также необходимо одновременно выполнить цикл по массиву formValues
и назначить каждое значение этого массива созданному клиенту для обновления данных.
Если вы хотите использовать цикл для выражения того же, что и в жестко запрограммированной версии того, как я назначил данные, как вы будете это делать?
Если вы просто хотите найти / обновить единственное значение, которое может быть легко обработано картой, но в данном конкретном случае я не думаю, что оно идет так гладко ...