Javascript 我认为我使用的拼接方法不正确
我正试图解决一个问题,我很难从我的拼接方法中得到答案。我试图从一个数组中取出所有奇数,按顺序排列,然后将它们放回数组中,同时保留偶数。在我的最后一个for循环中,我试图使用splice获取当前奇数的索引,删除它,并通过变量将排序后的奇数放回。这不是我想要的。谢谢你给我的任何帮助Javascript 我认为我使用的拼接方法不正确,javascript,arrays,splice,Javascript,Arrays,Splice,我正试图解决一个问题,我很难从我的拼接方法中得到答案。我试图从一个数组中取出所有奇数,按顺序排列,然后将它们放回数组中,同时保留偶数。在我的最后一个for循环中,我试图使用splice获取当前奇数的索引,删除它,并通过变量将排序后的奇数放回。这不是我想要的。谢谢你给我的任何帮助 function sortArray(array) { var odds = []; for (var i = 0; i < array.length; i++) { if (array[i]
function sortArray(array) {
var odds = [];
for (var i = 0; i < array.length; i++) {
if (array[i] % 2 !== 0) {
odds.push(array[i]);
}
}
odds.sort();
console.log('array', array)
for (var j = 0; j < array.length; j++) {
var x = 0;
if (array[i] % 2 !== 0) {
x = odds.shift();
console.log('x', x)
array.splice(i, 1, x); <-- I think this is my problem...maybe...
console.log('array 2', array)
}
}
console.log(array)
return array;
}
sortArray([5, 3, 2, 8, 1, 4])
我们需要两个参数
for (var j = 0; j < array.length; j++) {
var x = 0;
if (array[j] % 2 !== 0) {
array.splice(j, 1);
}
}
array = array.concat(odds);
for(var j=0;j
需要两个参数
for (var j = 0; j < array.length; j++) {
var x = 0;
if (array[j] % 2 !== 0) {
array.splice(j, 1);
}
}
array = array.concat(odds);
for(var j=0;j
您使用i来引用j循环中的索引。您使用i来引用j循环中的索引。