3

i need to prepend value in typescript objects array

Example if array is

[
   {'title':'this is post title1','content':'this is post content1'},
   {'title':'this is post title2','content':'this is post content2'},
   {'title':'this is post title3','content':'this is post content3'},
   {'title':'this is post title4','content':'this is post content4'},
   {'title':'this is post title5','content':'this is post content5'},
]

i want when i put new item in the first of this array like prepend in jQuery

[
   {'title':'this is new item title','content':'this is new item content'},
   {'title':'this is post title1','content':'this is post content1'},
   {'title':'this is post title2','content':'this is post content2'},
   {'title':'this is post title3','content':'this is post content3'},
   {'title':'this is post title4','content':'this is post content4'},
   {'title':'this is post title5','content':'this is post content5'},
]

thanks in advance

Roufail
  • 551
  • 1
  • 8
  • 23
  • Same way as in JS. `typescript` tag is for TS-specific questions. – Estus Flask Mar 09 '18 at 13:40
  • **.unshift()** TypeScript is a syntactic sugar of JavaScript. So You should google JavaScript a https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Obiekty/Array/unshift – Anton Temchenko Mar 09 '18 at 13:43
  • Possible duplicate of [How can I add new array elements at the beginning of an array in JavaScript?](https://stackoverflow.com/questions/8073673/how-can-i-add-new-array-elements-at-the-beginning-of-an-array-in-javascript) – Mohammad Usman Mar 09 '18 at 13:50
  • The example you gave is javascript. You should create a class in typescript for it. – Jeroen van Langen Mar 09 '18 at 14:03

4 Answers4

8

You can use unshift to prepend items to an array:

const myArray = [ 2, 3, 4 ]

myArray.unshift(1)

console.log(myArray); // [ 1, 2, 3, 4 ]

You can find the docs here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift

Andrew Lively
  • 2,145
  • 2
  • 20
  • 27
6

You can use the ... operator

Eg :

 let myArray = [ 1,2,3,4,5 ];
 myArray = [0, ...myArray];
CharybdeBE
  • 1,791
  • 1
  • 20
  • 35
2

It cannot be done with jquery, because it is functionality belongs to the javascript array object.

You could use the array function unshift() for that.

Jeroen van Langen
  • 21,446
  • 3
  • 42
  • 57
2

You can solve it with splice.

arr.splice(index, 0, item);

From another SO question

Malcor
  • 2,667
  • 21
  • 29