2016-06-27 10 views
-1

Ich habe eine Liste mit Artikeln wie:von oben Javascript

var values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...]; 

Ich möchte, für jeden blättern, hinzufügen 15. Neuzugängen und dann von oben eine andere 15. Elemente zu schneiden.
Können Sie mir helfen? Vielen Dank!!!

Aktualisiert:

getMoreItems(items: any) { 
     var lastIndex: number; 
     if (items.visible.length) { 
      var lastItem: any = _.last(items.visible); 
      lastIndex = _.findLastIndex(items.allValues, { Name: lastItem.Name }); 
     } 
     var startIndex = lastIndex + 1 || 0; 
     var endIndex = Math.min(startIndex + 15, items.allValues.length); 
     var newItems = items.allValues.slice(startIndex, endIndex); 


     if (items.visible.length > 30) { 
      items.visible = items.visible.slice(0, 15).concat(newItems); 
     } else { 
      items.visible = items.visible.concat(newItems); 
     } 
    } 
+0

Sie 15 Elemente am Ende hinzufügen möchten, und die ersten 15 Elemente rechts entfernen? –

+0

ja. in der gleichen Zeit, wenn nach unten scrollen. –

Antwort

0
var values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...]; 
values = values.splice(0,15); // remove first 15 items 
values = values.concat([another 15 items]); // add next 15 
: Sie können Ihre Array neu initialisieren

Und natürlich können Sie inline:

values = values.splice(0,15).concat([x1...x2]) 
+0

Ich habe Ihren Rat versucht und ich habe meine Antwort aktualisiert, funktioniert aber nicht. –

+0

Sind Sie sicher, dass Sie ** splice ** wie in meiner Antwort verwenden? Sieht so aus als würdest du ** slice ** benutzen – Chanthu

+0

Danke. Du hast recht. –

0

So etwas wie das?

var numbers = [1,2,3,4,5,6,7,8,9,10]; 
numbers = numbers.slice(2).concat([11,12]); 
console.log(numbers); 

>> [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] 
0

wenn Sie Array auf Scroll haben, können Sie Ihr Array neu zu initialisieren:

var old= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 

scroll=[32, 232,23, 232, 23, 232, 23,238, 92, 120]; 

old=scroll; 

console.log(old); 

und wenn Sie Einzelteile ahve eins nach dem anderen, dann können Sie Muster verwenden:

wenn Sie Array auf Scroll haben

var old= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 

old.push(next_value); 
old.shift() 

console.log(old);