0
私はJSONデータを持っており、そのデータをオブジェクトの配列に変換し、 .slice(0)メソッドを使用する別の配列。array1.splice(1,1)は、array1.slice(0)を使用して作成したarray2からデータを削除しています
割り当てられた配列からいくつかの要素を削除しようとしているとき、元の要素から同じ要素を削除しています。
しかし、いつでもオリジナルのアレイを変更したくありません。
var values = [
{
"timeId":"201501010100",
"Week1Volume": 2454721,
"Week2Volume": 7017731,
"Week3Volume": 5656528,
"Week4Volume": 2472223
},
{
"timeId":"201501010200",
"Week1Volume": 2454721,
"Week2Volume": 7017731,
"Week3Volume": 5656528,
"Week4Volume": 2472223
},
{
"timeId":"201501010300",
"Week1Volume": 1999120,
"Week2Volume": 5355235,
"Week3Volume": 5120254,
"Week4Volume": 2607672
}]; // This is my JSON data
var weekNames = d3.keys(values[0]).filter(function(key) { return key !== "timeId" && key!== "weeksVolume";});;
values.forEach(function(d) {
d.weeksVolume = weekNames.map(function(name) { return {name: name, value: +d[name]}; });
}); // original array
var data = values.slice(0); // Data is my new array
function removeFromSecondArray(){
// Here I am removing the first object of weekVolumes from each object of the array
data.forEach(function(d) {
d.weeksVolume.splice(1,1);
});
};
しかし、上記の機能の実行後、「値」の第1要素も削除されました。
この回答をご覧ください:http://stackoverflow.com/questions/37006725/creating-series-from-series-in-d3/37007424#37007424それはあなたを助けるかもしれません – thatOneGuy