Немного сложно понять, в чем специфика вашего вопроса. Я предполагаю, что комментарии в вашем коде описывают вопрос. В следующий раз я бы посоветовал вам быть более конкретным с подробностями вашего вопроса в тексте, а не в коде. Но, учитывая это, вот мое предположение о том, что вы пытаетесь сделать.
У вас есть строка, которая выглядит следующим образом:
";#myProd1;#myProd2;#"
И вы хотите получить myProd1
и myProd2
в массив, а затем из этого массива добавить в раскрывающийся список.
// get product list
var myProd = $(this).attr("ows_Prod");
// clean up the ends
myProd = myProd.replace(/^;#|;#$/g, "");
// split into pieces
var myProdArray = myProd.split(";#");
// add each piece as an option to the drop-down
for (var i = 0; i < myProdArray.length; i++) {
$("#ProdList").append('<option>' + myProdArray[i] + '</option>')
}
Вы можете отсортировать массив в порядке словаря с помощью:
myProdArray.sort();
Вы можете удалить дубликаты из отсортированного массива следующим образом:
var noDupArray = [];
noDupArray.push(myProdArray[0]);
for (var i = 1; i < myProdArray.length; i++) {
if (myProdArray[i] != myProdArray[i-1]) {
noDupArray.push(myProdArray[i]);
}
}
Итак, если вы хотите отсортировать и удалить дубли, вы можете использовать этот код:
var myProd = $(this).attr("ows_Prod");
myProd = myProd.replace(/^;#|;#$/g, "");
var myProdArray = myProd.split(";#");
// sort
myProdArray.sort();
// remove dups
var noDupArray = [];
noDupArray.push(myProdArray[0]);
for (var i = 1; i < myProdArray.length; i++) {
if (myProdArray[i] != myProdArray[i-1]) {
noDupArray.push(myProdArray[i]);
}
}
// add each piece as an option to the drop-down
for (i = 0; i < noDupArray.length; i++) {
$("#ProdList").append('<option>' + noDupArray[i] + '</option>')
}