可能重复:
Javascript交换数组元素
我有一个像这样的数组:
this.myArray = [0,1,2,3,4,5,6,7,8,9];
Run Code Online (Sandbox Code Playgroud)
现在我想做的是,交换两个项目的位置给出了他们的立场.例如,我想将项目4(即3)与项目8(即7)交换,这应该导致:
this.myArray = [0,1,2,7,4,5,6,3,8,9];
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我需要能够增加和减少MongoDB
对象中数组元素的位置。
我<update>
在MongoDB API中查看了该API,但找不到任何让我这么做的东西。
我正在尝试使用findOneAndUpdate
贯通Mongoose
,我知道我试图向上或向下移动的元素的索引。
base64
编码图像数组项的示例:
{
images: [
"img1",
"img2",
"img3"
]
}
Run Code Online (Sandbox Code Playgroud)
我想向上或向下移动“ img2”(但由于无处可去,因此“图像”应该不能向上推)。
如果我想向上推“ img2”,那么结果将是:
{
images: [
"img2",
"img1",
"img3"
]
}
Run Code Online (Sandbox Code Playgroud)
通过更改索引,交换或上推/下推来实现此目标都没有关系。
如何使用typescript交换两个元素
elements:elements[] =[];
elements.push(item1);
elements.push(item2);
elements.push(item3);
elements.push(item4);
elements[0] is item1
elements[3] is item4
Run Code Online (Sandbox Code Playgroud)
我如何在打字稿中交换这些项目.我知道Javascript的方式,像这样:
*使用临时变量的javascript示例*
var tmp = elements[0];
elements[0] = elements[3];
elements[3] = tmp;
Run Code Online (Sandbox Code Playgroud)
但任何API中做同样的事情打字稿像
array.swap()
有没有一种优雅的方式使用 vanilla JS 将项目从一个数组交换到另一个数组?
如果您正在为运动队构建一个简单的应用程序,则此功能会起作用。在给定的球队中,当您从首发阵容 (array1) 中换出一名球员时,您将替换为替补阵容 (array2) 中的一名球员。
一旦做出选择,数组就会更新,从数组 2 中选择的数组项现在出现在数组 1 中,反之亦然。
伪代码示例:
首发阵容 = Bob、Susan、Kevin、Jack、Tim
Substitude 阵容 = George、Steve、Martha 替补
出场的
球员:Jack替补出场的球员:Martha
// JS 魔术激活!(在此处插入您的巧妙代码。)
结果:
首发阵容:鲍勃、苏珊、凯文、玛莎、蒂姆
替补阵容:乔治、史蒂夫、杰克
我找到了一个优雅的解决方案,可以使用原型方法交换单个数组中两个项目的顺序。但是,如果您要处理两个不同数组中的两个项目,这将不起作用。
我的问题不是关于解决方案是否可行(当然是可行的),但最好的方法是使用干净、精确和优雅的代码,而不需要一堆 for 循环意大利面。
我有一个对象数组,我想交换数组中两个元素的位置.我试过这个:
var tempObject = array.splice(index, 1, array[index + 1]);
array.splice(index+1, 1, tempObject);
Run Code Online (Sandbox Code Playgroud)
但它似乎没有正常工作,因为它会导致一些奇怪的错误.例如,我无法使用该对象的方法.调用会array[x].getName
导致错误.
任何身体都可以在这里伸出援助之手吗?
为了防止它变得很重要,我已经习惯object.prototype
了添加方法.
javascript ×6
arrays ×3
object ×2
swap ×2
angular ×1
express ×1
mongodb ×1
mongoose ×1
node.js ×1
oop ×1
performance ×1
prototype ×1
python ×1
typescript ×1
variables ×1