简体   繁体   中英

How to get the last element of array and save in variable

I am trying to save the last element of an array which gets its values from a multiselect dropdown and looks like this for example with two elements: [34, 33]

What I want to do know is to always get the last element inside it in this case the 33 and save it for further use in a variable. But for some reason personId2 is always all elements like this: [34, 33] But I want to have just the 34 if it is the only element or the 33 if it is the last element.

this is the part where I am trying to get the last element:

let personId = 0
    let personersonId2 = 0
    this.personArray.push(this.form.controls.multiSelectBox.value)
    this.personArrayStaging = this.personArray[length]
   
    for(personId = 0; personId < this.personArray.length - 1; personId ++){
        personId2 = this.personArray[personId ]
    }

Can not follow the code, but if you want to grab the last element of an array all you need is calling arr[arr.length-1] . If you don't want to repeat it over and over, make it a function

lastElement = (arr) => arr[arr.length-1]


let x = lastElement([]) // x = undefined
let y = lastElement([1,2]) // y = 2 
let z = lastElement([3]) // z = 3

In order to get the last element of the array, the simplest solution is to call arr.at(-1)

const arr = [11, 22, 33, 44];
const lastElement = arr.at(-1); // 44

You can use length-1 or the javascript function pop() . Importnat note: But pop will remove the last element from your array.

 let arr = ['hello','world']; const last = arr.pop(); console.log(last);

It is fixed now the problem was the push part in my personArray it should have been like this: personArray = this.form.controls.MultiSelectBox.value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM