シャローコピー配列を作成するには、.slice()
を使用することができます。
series: this.state.summaryData3[0].summary.population.gender.values.slice()
あなたがコピーを作成するように、アレイ内の各値を変更したい場合は、あなたが.map()
を使用して返すことができますコールバックからの新しい値(配列ではない)。 .map()
関数は新しい配列に返されたすべての個々の値を照合し、その新しい配列を返します:
series: this.state.summaryData3[0].summary.population.gender.values.map(function(item){
// some modification of the original value
return item + 1;
});
注意を、あなただけの同じ値を返している場合は.map()
を使用する理由はありません。元の値だけが必要な場合は、.slice()
を使用してコピーを作成してください。結果として配列の配列を必要としない限り、配列を返さないでください。
そして、あなたが必要とするすべての既存のアレイ自体への参照であれば、あなたもコピーを作成する必要はありません。
series: this.state.summaryData3[0].summary.population.gender.values
だから、あなたは、3つの異なるオプションがありますここではあなたの特定の要件に応じて。
'.map()'は配列を返しますので、 'return [value]'の代わりに 'return value'だけを正しくしたいですか?そのままでは、配列の配列で終わります。 – Pointy
単一の配列を返す理由はありません。値を返すだけで配列になります。 – Icepickle
配列をコピーしたいだけなら '.slice()'や 'Array.from(...)'を使います。 – Bergi