#php #javascript #asp.net #.net #html
#php #javascript #asp.net #.net #HTML
Вопрос:
var a = new Array();
var b = new Array();
var c = [a,b];
var str = 'hello,world,nice,day';
for(var i = 0; i < c.length; i ){
c[i] = str.split(',');
}
После выполнения я хотел бы иметь:
c = [a, b];
a = ['hello', 'world', 'nice', 'day'];
b = ['hello', 'world', 'nice', 'day'];
но на самом деле у меня есть:
c = [['hello', 'world', 'nice', 'day'], ['hello', 'world', 'nice', 'day']];
a = [];
b = [];
могу ли я это исправить?
upd: Решение Raynos действительно приятно. Спасибо.
Комментарии:
1. Я удивлен, что вы получаете a = null, b = null, разве a и b не должны быть пустыми массивами?
2. Когда я написал a = null, b = null, это означает, что они являются пустыми массивами. Извините за мою ошибку.
Ответ №1:
for(var i = 0; i < c.length; i ){
c[i].push.apply(c[i], str.split(','));
}
Ответ №2:
split
Функция создает новый массив, который хранится в c
. Вы должны перебрать массив, возвращаемый split
и выполнить c[i].push()
для этого значения.
Или просто установите a
и b
непосредственно на результат split
.
Ответ №3:
Потому что вы написали c[i] = str.split(',');
— вы должны написать c[i] = str.split(',')[i];
И на самом деле — зачем перебирать это с for
?
Редактировать — Извините, думал, что назначение было c [0], c[1]….
Комментарии:
1. str.split(‘,’)[i]. Вы уверены в ответе?
2. это совсем не то, что он хочет
3. Я уверен в синтаксисе — но я отредактировал свой ответ, не заметил первую часть
c = [a,b]