将值作为对象属性返回

时间:2017-05-20 03:52:18

标签: javascript arrays javascript-objects

我必须编写一个函数,它接受一个数组并返回一个对象,其中数组的第一个元素作为对象的键,数组的最后一个元素作为对象的值。

以下是提出的挑战:

  

编写一个函数'transformFirstAndLast',它接受一个数组,并返回一个对象:   1)数组的第一个元素作为对象的键,和   2)数组的最后一个元素作为该键的值。

示例输入:

['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']

函数的返回值(输出):

{
  Queen : 'Beyonce'
}

请勿更改输入数组。假设输入数组中的所有元素都是'string'类型。

请注意,输入数组可能包含不同数量的元素。您的代码应灵活适应。

E.g。它应该处理如下输入:

['Kevin', 'Bacon', 'Love', 'Hart', 'Costner', 'Spacey']

函数的返回值(输出):

{
  Kevin : 'Spacey'
}

入门代码

function transformFirstAndLast(array) {
  // your code here
}

这是我的代码

function transformFirstAndLast() {
  //Take in an array
  array = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
  //Return an object with:
  return {
//element 1     element 2
  stuckHere : array[array.length-1],
};
}
  //call function
  transformFirstAndLast();

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

这应该有效

function transformFirstAndLast() {
    //Take in an array
    array = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
    //Return an object with:
    var output = {};
    output[array[0]] = array[array.length-1];
    return output;
}

//call function
transformFirstAndLast();

答案 1 :(得分:1)

使用here所述的计算属性键:



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

console.log(transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']));




对象属性键[array[0]]是从第一个数组元素array[0]计算出来的。它的值是最后一个数组元素array[array.length - 1]

您应该考虑将array作为参数传递给此处transformFirstAndLast函数,以符合质询提供的函数签名。