我很难搞清楚如何移动数组元素.例如,给出以下内容:
var arr = [ 'a', 'b', 'c', 'd', 'e'];
Run Code Online (Sandbox Code Playgroud)
我怎么能写一个'd'以前移动的函数'b'?
还是'a'之后'c'?
移动后,应更新其余元素的索引.这意味着在第一个例子中,移动arr [0]将='a',arr [1] ='d'arr [2] ='b',arr [3] ='c',arr [4] = 'E'
这看起来应该很简单,但我无法绕过它.
如果我有以下对象数组:
[ { id: 1, username: 'fred' }, { id: 2, username: 'bill' }, { id: 2, username: 'ted' } ]
Run Code Online (Sandbox Code Playgroud)
有没有办法循环遍历数组,以检查特定的用户名值是否已经存在,如果它什么都不做,但是如果它没有用所述用户名(和新的ID)将新对象添加到数组?
谢谢!
在另一个数组中插入数组的更有效方法是什么.
a1 = [1,2,3,4,5];
a2 = [21,22];
newArray - a1.insertAt(2,a2) -> [1,2, 21,22, 3,4,5];
Run Code Online (Sandbox Code Playgroud)
如果a2数组很大,从性能的角度来看,使用splice迭代a2看起来有点糟糕.
谢谢.
我发现的所有淘汰示例似乎都使用以下内容在ObservableArray的末尾添加了一个新项:
viewModel.SomeItems.push(someNewItem);
Run Code Online (Sandbox Code Playgroud)
这当然将项目放在数组的末尾.
如何在特定位置向ObservableArray添加项?
例如.就像是:
viewModel.SomeItems.push(someNewItem, indexToInsertItAt);
Run Code Online (Sandbox Code Playgroud) 有没有比这更好的方法将数组拼接到javascript中的另一个数组中
var string = 'theArray.splice('+start+', '+number+',"'+newItemsArray.join('","')+'");';
eval(string);
Run Code Online (Sandbox Code Playgroud) 我找到了以下代码,我不知道A和B之间有什么区别:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
Run Code Online (Sandbox Code Playgroud)
一个
fruits.splice(2,0,["Lemon", "Kiwi"]);
Run Code Online (Sandbox Code Playgroud)
乙
fruits.splice(...[2,0].concat(["Lemon", "Kiwi"]));
Run Code Online (Sandbox Code Playgroud)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var A = fruits.splice(2, 0, ["Lemon", "Kiwi"]);
var B = fruits.splice(...[2, 0].concat(["Lemon", "Kiwi"]));
console.log(A)
console.log(B)Run Code Online (Sandbox Code Playgroud)
我正在尝试有效地编写一个语句,该语句推送到数组的第1位,并推动该位置中的任何内容,或者在它返回某个位置之后.
array = [4,5,9,6,2,5]
#push 0 to position 1
array = [4,0,5,9,6,2,5]
#push 123 to position 1
array = [4,123,0,5,9,6,2,5]
Run Code Online (Sandbox Code Playgroud)
写这个的最好方法是什么?(可接受javascript或coffeescript)
谢谢!
我确信有很多方法可以实现这一目标,但我正在寻找"优雅"的东西.
a = [
'a',
'b',
'c'
];
magicArrayJoin(a, {value: 255} ); // insert the same object between each item
result == [
'a',
{value: 255},
'b',
{value: 255}
'c'
];
Run Code Online (Sandbox Code Playgroud)
欢迎所有提案.:)
javascript ×9
arrays ×8
coffeescript ×1
for-loop ×1
foreach ×1
json ×1
jsonb ×1
knockout.js ×1
mvvm ×1
nosql ×1
object ×1
performance ×1
postgresql ×1