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.