数组的第一个值作为键名,最后一个值作为值 JavaScript?
First value of an array as a Key name and last one as a value JavaScript?
我是一名编程初学者,我对如何集中注意力和理解这个练习有一些疑问。
任何人都可以向我解释面对这个练习的逻辑吗?
我有一个这样的数组:['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'] 我想要这样的结果:{ Queen : 'Beyonce' }
我想return以下功能:
- 数组的第一个元素作为对象的键
- 数组的最后一个元素作为该键的值。我在数组中做一个 var 键,然后循环遍历数组
有人推荐我这样做,但是我不太明白这里的shift和pop是如何工作的,因为shift删除数组的第一个值并弹出最后一个。
有人能帮帮我吗?
function transformFirstAndLast(array) {
// your code here
let myobj={}
myobj[array.shift()] = array.pop();
console.log(myobj);
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
简而言之,这些方法会改变原始数组(删除第一个或最后一个元素),但也会 return 被删除的元素。
arr.shift():
解释:
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift)
const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
//remove the first element and save it in the variable firstElem
const firstElem = myArr.shift();
console.log(firstElem); //output: "Queen"
console.log(myArr); //output: "['Elizabeth', 'Of Hearts', 'Beyonce']"
arr.pop():
解释:
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop)
const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
//remove the last element and save it in the variable firstElem
const lastElem = myArr.pop();
console.log(lastElem); //output: "Beyonce"
console.log(myArr); //output: "['Queen', 'Elizabeth', 'Of Hearts']"
因此,为了让您的示例更清楚,请参阅以下稍作修改的代码:
function transformFirstAndLast(array) {
// your code here
let myobj={}
const firstElem = array.shift();
const lastElem = array.pop();
myobj[firstElem] = lastElem
//console.log(myobj);
return myobj;
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
除了改变原始数组,你可以这样做:
function transformFirstAndLast(array) {
// your code here
let myobj={};
myobj[array[0]] = array[array.length - 1];
console.log(myobj);
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
数组就像一个有序的列表,我们可以通过索引访问这个列表,索引也是从0开始。所以如果我想访问列表的第4项,我会尝试访问使用索引 3.
的列表
现在,回到列表,我们在这里考虑,即 ['Queen'、'Elizabeth'、'Of Hearts'、'Beyonce'] 并且说,我们将其命名为“array”作为函数的参数,我们得到如下-
array is equal to ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']
array[0] is equal to 'Queen'
array[1] is equal to 'Elizabeth'
array[2] is equal to 'Of Hearts'
array[3] is equal to 'Beyonce'
array.length is equal to 4 (gives the number of items the array have)
现在,我们的目标是创建一个像 {'Queen': 'Beyonce'}
这样的字典或对象。而且,如果我们尝试逐行理解函数。
let result = new Object();
- 它创建一个空对象,比如没有键值对的空字典。简单来说,result = {}
result[array[0]] = array[array.length-1];
- 这是所有魔法发生的地方。因此,首先,我们尝试计算左侧 result[array[0]]
并得到 result['Queen']
。对于右侧,我们有 array[array.length-1]
。所以如果我们打破它,
array[array.length-1] => array[4-1] => array[3] => 'Beyonce'
。最后,如果结合这两个方面,我们得到 result['Queen'] = 'Beyonce'
创建一个对象 {'Queen': 'Beyonce'}
.
总而言之,该方法不会迭代或遍历列表。此方法没有移位或删除。它使用数组的索引访问列表。首先,它创建一个空对象。然后它通过使用列表的第一项作为键并使用最后一项作为值在对象中创建一个条目。
我是一名编程初学者,我对如何集中注意力和理解这个练习有一些疑问。
任何人都可以向我解释面对这个练习的逻辑吗?
我有一个这样的数组:['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'] 我想要这样的结果:{ Queen : 'Beyonce' }
我想return以下功能:
- 数组的第一个元素作为对象的键
- 数组的最后一个元素作为该键的值。我在数组中做一个 var 键,然后循环遍历数组
有人推荐我这样做,但是我不太明白这里的shift和pop是如何工作的,因为shift删除数组的第一个值并弹出最后一个。
有人能帮帮我吗?
function transformFirstAndLast(array) {
// your code here
let myobj={}
myobj[array.shift()] = array.pop();
console.log(myobj);
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
简而言之,这些方法会改变原始数组(删除第一个或最后一个元素),但也会 return 被删除的元素。
arr.shift():
解释:
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift)
const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
//remove the first element and save it in the variable firstElem
const firstElem = myArr.shift();
console.log(firstElem); //output: "Queen"
console.log(myArr); //output: "['Elizabeth', 'Of Hearts', 'Beyonce']"
arr.pop():
解释:
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop)
const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'];
//remove the last element and save it in the variable firstElem
const lastElem = myArr.pop();
console.log(lastElem); //output: "Beyonce"
console.log(myArr); //output: "['Queen', 'Elizabeth', 'Of Hearts']"
因此,为了让您的示例更清楚,请参阅以下稍作修改的代码:
function transformFirstAndLast(array) {
// your code here
let myobj={}
const firstElem = array.shift();
const lastElem = array.pop();
myobj[firstElem] = lastElem
//console.log(myobj);
return myobj;
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
除了改变原始数组,你可以这样做:
function transformFirstAndLast(array) {
// your code here
let myobj={};
myobj[array[0]] = array[array.length - 1];
console.log(myobj);
}
var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']);
console.log(output);
数组就像一个有序的列表,我们可以通过索引访问这个列表,索引也是从0开始。所以如果我想访问列表的第4项,我会尝试访问使用索引 3.
的列表现在,回到列表,我们在这里考虑,即 ['Queen'、'Elizabeth'、'Of Hearts'、'Beyonce'] 并且说,我们将其命名为“array”作为函数的参数,我们得到如下-
array is equal to ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']
array[0] is equal to 'Queen'
array[1] is equal to 'Elizabeth'
array[2] is equal to 'Of Hearts'
array[3] is equal to 'Beyonce'
array.length is equal to 4 (gives the number of items the array have)
现在,我们的目标是创建一个像 {'Queen': 'Beyonce'}
这样的字典或对象。而且,如果我们尝试逐行理解函数。
let result = new Object();
- 它创建一个空对象,比如没有键值对的空字典。简单来说,result = {}
result[array[0]] = array[array.length-1];
- 这是所有魔法发生的地方。因此,首先,我们尝试计算左侧result[array[0]]
并得到result['Queen']
。对于右侧,我们有array[array.length-1]
。所以如果我们打破它,array[array.length-1] => array[4-1] => array[3] => 'Beyonce'
。最后,如果结合这两个方面,我们得到result['Queen'] = 'Beyonce'
创建一个对象{'Queen': 'Beyonce'}
.
总而言之,该方法不会迭代或遍历列表。此方法没有移位或删除。它使用数组的索引访问列表。首先,它创建一个空对象。然后它通过使用列表的第一项作为键并使用最后一项作为值在对象中创建一个条目。