Get the first and last item in an Array - JS

后端 未结 6 1590
面向向阳花
面向向阳花 2021-01-18 03:01

I am trying to get the first and last item in array and display them in an object.

What i did is that I use the first and last function and then assign the first ite

相关标签:
6条回答
  • 2021-01-18 03:31

    With ES6 and destructuring:

    const myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    const { 0: first, length, [length -1]: last } = myArray //getting first and last el from array
    const obj = { first, last }
    
    console.log(obj) // {  first: "Rodel",  last: "Betus" }
    
    0 讨论(0)
  • 2021-01-18 03:34

    ES6

    var objOutput = { [myArray[0]]: [...myArray].pop() }
    

    var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    var objOutput = { [myArray[0]]: [...myArray].pop() }
    
    console.log(objOutput);

    0 讨论(0)
  • 2021-01-18 03:48

    I've modified your code :

    var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    function firstAndLast(array) {
    
    var firstItem = myArray[0];
    var lastItem = myArray[myArray.length-1];
    
     var objOutput = {
       first : firstItem,
       last : lastItem
      };
    
    return objOutput;
    }
    
    var display = firstAndLast(myArray);
    
    console.log(display);

    UPDATE: New Modification

    var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    function firstAndLast(array) {
    
    var firstItem = myArray[0];
    var lastItem = myArray[myArray.length-1];
    
    var objOutput = {};
    objOutput[firstItem]=lastItem
    
    return objOutput;
    }
    
    var display = firstAndLast(myArray);
    
    console.log(display);

    0 讨论(0)
  • 2021-01-18 03:48

    Do like this :-

    var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    function firstAndLast(myArr) {
    
        var firstItem = myArr[0];
        var lastItem = myArr[myArr.length - 1];
        var objOutput = {}; 
        objOutput[firstItem] = lastItem;
        return objOutput;
    }
    
    var display = firstAndLast(myArray);
    
    console.log(display);
    
    0 讨论(0)
  • 2021-01-18 03:49

    well, I have another idea... for ex.:

    const all = ['food', 'clean', 'cat', 'shower', 'work out']
    console.log(`you have ${all.length} all!`)
    console.log(`Todo: ${all[0]}`)
    console.log(`Todo: ${all[all.length - 1]}`)
    
    0 讨论(0)
  • 2021-01-18 03:56

    To make your first and last properties work as you want, define them as properties with "getters" on the array prototype.

    (You also have an inconsistency between firstAndLastArray and transformFirstAndLast, which needed to be fixed.)

    Returning {firstName: lastName} will not do what you presumably want, since it will yield the key firstName. To use the actual first name as the key, use computed property names ({[firstName]: lastName}).

    Object.defineProperties(Array.prototype, {
      first: { get() { return this[0]; }},
      last:  { get() { return this[this.length - 1]; }}
    });
    
    var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];
    
    function firstAndLast(array) {
      var firstItem = myArray.first;
      var lastItem = myArray.last;
      
      return {[firstItem]: lastItem};
    }
    
    var display = firstAndLast(myArray);
    
    console.log(display);

    Or, much more simply, just

    function firstAndLast(array) {
      return {[array[0]]: array[array.length - 1]};
    }
    

    If you don't want to, or cannot, use computed property names, then

    function firstAndLast(array) {
      var result = {};
      result[array[0]] = array[array.length - 1];
      return result;
    }
    
    0 讨论(0)
提交回复
热议问题