ich haben Javascript wie:javascript Liste Wert Iteration bestimmten Index hin und her
var data = ["apple", "ball", "cat", "dog", "elephant", "fish", "gorilla"]
var index = [2, 3] // cat and dog
var to = 5 // fish
var arrTemp = [];
data.forEach(function(val,key){
if(index.indexOf(key)!=-1){
data.splice((to+1),0,data[key]);
to++;
delete data[key];
}
})
data = data.filter(function(val){ return val != undefined });
console.log(data)
Hier index = [2, 3]
ist der Index des data
i. e. ball and dog
und to
ist die target
wo ich den index
Wert setzen möchte.
Ich möchte setzen index
ich. e ball and dog
nach fish
.
Der obige Code gibt das genaue Ergebnis und wurde von einem Benutzer von SO geholfen.
Aber wenn ich Index-Wert auf index = [4, 5]
und to = 2
setzen. Es gibt mir einen Fehler. Es platziert die elephant
und fish
nach cat
nicht.
Ich habe ein anderes Programm geschrieben, um diese wie zu handhaben:
var data = ["apple", "ball", "cat", "dog", "elephant", "fish", "gorilla"]
var index = [4, 5] // elephant and fish
var to = 2 // cat
var offset = 0
data.forEach(function(val,key){
if(index.indexOf(key)!=-1){
data.splice((to+1), 0, data[key + offset]);
to++;
offset++;
var del_key = key + offset
delete data[del_key];
}
});
console.log(data)
Dieser Code gibt Ergebnis für index = [4, 6]
oder index = [3, 6]
und to = 2
aber nicht für wie index=[4, 5]
und to = 2
'[2,3]' ist 'cat' und' dog' nicht 'ball' und' dog' – fuzz
@gotnull leider das war Typo – gamer