Разделение() функция выводит массив элементов. Вместо того, чтобы выбрать первый пункт через «[0]», присвоить весь массив переменного и петлю над что, в формате:
for (var count = 0; count < maxCount; count++) {
// Action to be repeated here
}
Проблемы вы будете иметь это исходную строку в формате "Id (тип), Id (Type)". Разделение только на «(Тип)» оставит запятые в элементе, поэтому ваши разделенные элементы будут выглядеть как «320151» и «, 320145». Убедитесь, что вы включили запятую (и убедитесь, что в исходной строке есть запятая в конце, или ваш последний элемент не будет соответствовать условиям разделения, и все равно скажет «Id (Тип)».
Таким образом, ваш код будет выглядеть как:
var data = {
"selectedProducts": {
"selectedSubscriptionIds": "320151(Products),320145(Products),"
}
};
var SelectedSubscriptionIds = data.selectedProducts.selectedSubscriptionIds;
console.log(SelectedSubscriptionIds); //320151(Products),320145(Products),
var subscriptionIdArray = SelectedSubscriptionIds.split("(Products),");
for (var i = 0, i < subscriptionIdArray.length; i++) {
var subscriptionId = subscriptionIdArray[i];
console.log(subscriptionId); // 320151, then 320145 etc
}
Я не знаю, почему вы должны указать SubscriptionId как «Id (Type)», когда это уже внутри категории «selectedProducts» Если это чисто ради расщепления, то вы можете оставить. это и просто разделить на ","
var data = {
"selectedProducts": {
"selectedSubscriptionIds": "320151,320145"
}
};
var SelectedSubscriptionIds = data.selectedProducts.selectedSubscriptionIds;
console.log(SelectedSubscriptionIds); //320151,320145
var subscriptionIdArray = SelectedSubscriptionIds.split(",");
for (var i = 0, i < subscriptionIdArray.length; i++) {
var subscriptionId = subscriptionIdArray[i];
console.log(subscriptionId); // 320151, then 320145 etc
}
У вас есть индекс '0' в конце инструкции, которая возвращает первый элемент массива, удалите это, и t будет работать нормально. –