This question already has answers here:
Move an array element from one array position to another
                                
                                    (25个答案)
                                
                        
                                2年前关闭。
            
                    
我在下面的变量“ foundListings.currentimages”中包含一个图像链接数组。在前端,用户可以选中“精选”框以选择要精选的图像。所有这些都很好。

但是我不确定如何将在foundListings.currentimages下找到的图像移动到数组的前面。 (如果它位于阵列的前面,则具有该特征。)

我该如何更改代码foundListings.currentimages.splice(index2, 1);而不是从数组中删除项目,而是将其放在数组的第一位?

谢谢你的帮助! :)

// SELECTING FEATURED IMAGE
// if any images have been selected for feature, --- add it to front of array
if(req.body.feature && req.body.feature.length) {
for(var i = 0; i < req.body.feature.length; i++) {
var index2 = foundListings.currentimages.indexOf(req.body.feature[i]);
foundListings.currentimages.splice(index2, 1);
}
}
foundListings.save();
}

最佳答案

从数组中删除后的.unshift()?我知道这似乎需要更多工作,但我真的想不出其他任何方法来对数组重新排序。

var removed = foundListings.currentimages.splice(index2, 1);
foundListings.currentimages.unshift(removed[0]);


那应该做

09-11 17:42