Я пытаюсь сплайсировать массив два из двумерного массива arr.Почему splice возвращает строку вместо массива?
var one = ["a","b"];
var two = ["c","d"];
var thr = ["e","f"];
var arr = [one,two,thr];
Вот мои две неудачные попытки:
1)
var rem = arr.splice(1,1);
alert(rem[0]);
// This alerts the entire array as one long string "c,d".
// The expected behavior is "c" (index 0 of the returned array _rem_).
2)
var rem = arr[1].splice(0);
alert(arr);
// The array _rem_ is now correct, but _arr_ is left with an empty index: "a,b,,e,f".
У меня есть меньше, чем идеальный обходной путь, но я м надеясь сделать это с помощью одной функции.
var test = arr[1].slice(0);
arr.splice(1,1);
Возможно, вы, возможно, неправильно протестировали или что-то еще? Я не могу воспроизвести это. 'arr.splice (1,1)' должен работать для вас. Вот скрипка рабочей версии. http://jsfiddle.net/pNgTh/ – Robert
Что такое «строковый порождающий массив»? – Gabe
Ха-ха, тик, как в строке «в строке массива». – Gary