2017-01-16 14 views
0

私はこの問題を解決しようとしていますが、それは簡単な質問ですが、正しく実行していないと言い続けています。この問題は配列のインデックス値(この場合は "batman")をとり、その値を配列にコピーすることを望んでいます。だから私の最初の考えは.slice()を使って仕事をすることでした。しかし、console.log()を変数(var thirdHero)にスライスした後、変数に入れられたものが"batman"の代わりに["batman"]だったことがわかりました。どのようにこの問題を行うにはどんな助けにも感謝します!Javascript:変数に配列の値をコピーする方法

//#7 Create an array of strings that are the 7 primary colors in the rainbow - red, orange, yellow, green, blue, indigo, violet (lower-case). Call your array rainbowColors 
 
var rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']; 
 
// #8 Using this array do the following 
 
var heroes = ['superman', 'batman', 'flash']; 
 
// add 'wonderwoman' to the end 
 
heroes.push('wonderwoman'); 
 
console.log(heroes); 
 
// remove 'superman' and store him in a variable called firstHero 
 
var firstHero = heroes.shift(); 
 
// add 'spongebob' to the start of the array 
 
heroes.unshift('spongebob'); 
 
// remove 'flash' from the array and store him in a variable called secondHero 
 
var secondHero = heroes.splice(2, 1); 
 
console.log(heroes); 
 
// leave batman in the array but put a copy of him on a variable called thirdHero 
 
var thirdHero = heroes.slice(1, 2); 
 
console.log(thirdHero);

+0

一部の人々は、質問内のリンクを開くことが好きではありませんありません。あなたの質問に関連するソースコードを表示することができますか?ありがとうございます – NewToJS

+1

コードをサードパーティのサイトでホストする代わりに、あなたの質問で共有してください。 – Terry

+0

'thirdHero'は配列なので、出力として' ["" batman "]'を持たずに値を表示するために 'console.log(thirdHero [0]);'を使うべきです。なぜあなたは何度も配列をスライスしているのか分かりません。あなたはインデックスを使用して配列から選択することができます... – NewToJS

答えて

2

あなたはそれからわずか単一の値への参照を取得するために、配列をスライスする必要はありません。

「スライス」関数はあなたに配列自体

を返すだけ

var hero = heroes[2]; 
+0

恐ろしいです..私はそれが何か簡単だったことを知っていた!基本を学んだり、時には簡単なことがあなたの前を抜けることもあります。 –

+0

@GabrielLangはあまりにもそれほど気にしないでください、あなたはそこに行くでしょう:)最初はあまりにも複雑すぎる事があります:) –

+0

@ GabrielLangもしあなたがちょっとした基本を学んでいるのなら、これはhttps: /repl.it/FKEm – NewToJS

関連する問題