Как правильно разделить массив?
Добрый день. У меня есть массив вида:
var arr = ['вася на пеньке, дупле:2:шт~рыбка соленая, сухая:10:кг~вода озаренная, темная:2:литра']; Нужно его разделить на составляющие, я делаю так: var str_arr = arr.toString().split('~'); получаю: 0:"вася на пеньке, дупле:2:шт" 1:"рыбка соленая, сухая:10:кг" 2:"вода озаренная, темная:2:литра" вроде все хорошо, осталось отделить значения от цифр, повторяю: var str_arr_2 = str_arr.toString().split(':'); но на выходе получаю не совсем то: 0:"вася на пеньке, дупле" 1:"2" 2:"шт,рыбка соленая, сухая" 3:"10" 4:"кг,вода озаренная, темная" 5:"2" 6:"литра" Как сделать чтобы шт,кг,литры были отдельно? разделитель между ними ':' и '~', но не пойму как правильно написать чтобы не появлялась строка вида "шт, следующая строка..." Полный вид: var arr = ['вася на пеньке, дупле:2:шт~рыбка соленая, сухая:10:кг~вода озаренная, темная:2:литра']; var str_arr = arr.toString().split('~'); var str_arr_2 = str_arr.toString().split(':'); console.log(str_arr_2); |
Artur_Hopf,
какой результат нужен? |
рони,
вот такой: 0:"вася на пеньке, дупле" 1:"2" 2:"шт" 3:"рыбка соленая, сухая" 4:"10" 5:"кг" 6:"вода озаренная, темная" 5:"2" 6:"литра" |
Artur_Hopf,
<script> var arr = ['вася на пеньке, дупле:2:шт~рыбка соленая, сухая:10:кг~вода озаренная, темная:2:литра']; var out = arr[0].split(/[:~]/); document.write(JSON.stringify(out)) </script> |
рони,
Спасибо большое :thanks: |
Что-то мне кажется, что результат должен быть таким примерно...
var arr = ['вася на пеньке, дупле:2:шт~рыбка соленая, сухая:10:кг~вода озаренная, темная:2:литра']; var out = arr[0].split('~'); for(var i= 0; i<out.length; i++){ out[i] = out[i].split(':'); } alert(JSON.stringify(out)); |
Часовой пояс GMT +3, время: 23:54. |