我是一名编程初学者,对如何集中精力和理解本练习有些疑问。
任何人都可以向我解释面对这个练习的逻辑吗?
我有一个这样的数组:['Queen','Elizabeth','Of Hearts','Beyonce'],我想要这个结果:{Queen:'Beyonce'}
我想使函数返回以下内容:
有人建议我按照以下步骤进行操作,但我不太了解这里的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);
简而言之,这些方法会改变原始数组(删除第一个或最后一个元素),但也会返回被删除的元素。
[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 等于 [''女王','伊丽莎白','心中','碧昂丝']
array [0] 等于 '女王'
array [1] 等于 '伊丽莎白'
array [2] 等于 '心'
array [3] 等于 'Beyonce'
array.length 等于 4(给出数组具有的项数)
现在,我们的目标是创建一个字典或类似{'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'}
。总而言之,该方法不会迭代或遍历列表。此方法没有移位或删除。它使用数组的索引访问列表。首先,它创建一个空对象。然后,它将列表的第一项用作键,将最后一项用作值,从而在对象中创建一个条目。