获取数组中的第一个和最后一个项目 - JS

Gaa*_*iha 6 javascript arrays

我试图获取数组中的第一个和最后一个项目并将它们显示在一个对象中.

我做的是我使用第一个和最后一个函数,然后将第一个项目作为键,将最后一个项目作为值.

var myArray = ['Rodel', 'Mike', 'Ronnie', 'Betus'];

function firstAndLast(array) {

var firstItem = myArray.first;
var lastItem = myArray.last;

 var objOutput = {
   firstItem : lastItem 
  };

}

var display = transformFirstAndLast(myArray);

console.log(display);
Run Code Online (Sandbox Code Playgroud)

然而这个让我陷入困境.它说未定义.知道为什么会这样吗?

Mud*_*Ali 16

从 2021 年开始,您可以使用Array.prototype.at()

let colors = ['red',  'green', 'blue']

let first = colors.at(0) // red
let last = colors.at(-1) // blue
Run Code Online (Sandbox Code Playgroud)

阅读有关Array.prototype.at()的更多信息


Ash*_*raf 14

我修改了你的代码:

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);
Run Code Online (Sandbox Code Playgroud)

更新:新修改

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);
Run Code Online (Sandbox Code Playgroud)


rol*_*oli 7

使用 ES6 和解构:

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" }
Run Code Online (Sandbox Code Playgroud)


Kam*_*ski 6

ES6

var objOutput = { [myArray[0]]: [...myArray].pop() }
Run Code Online (Sandbox Code Playgroud)

var objOutput = { [myArray[0]]: [...myArray].pop() }
Run Code Online (Sandbox Code Playgroud)

  • @Bataleon 这个答案的价值在于它简短且与其他答案不同,因此它为程序员提供了更多选择并增加了他对潜在机会的了解 (4认同)
  • @Bataleon 投票失败意味着“错误”,这不是一个错误的答案。如果您不喜欢某个答案,请随时发表评论,但如果它真的很糟糕,它就不会获得足够的投票。投票否决是一个强烈的负面影响,这就是为什么当你投票否决时 StackOverflow 会给你负分,所以请谨慎使用它们。 (3认同)