LoginSignup
0
1

More than 5 years have passed since last update.

オブジェクト配列の値渡し(extend on NodeJS)

Posted at

一次元配列の値渡し

Array.slice()かArray.concat()を使えばよい。
JavaScriptで配列のコピー(値渡し)

ただし、値渡しできるのは文字列数値のみ。
オブジェクトはできない
Array.prototype.slice()

  • もし参照されたオブジェクトが修正されたら、その変更は新しい配列と元の配列の両方に現れます。
  • 文字列や数値 (String オブジェクトや Number オブジェクトではなく) については、slice は文字列や数値を新しい配列にコピーします。一方の配列の文字列や数値に変更を加えても、他方の配列に影響はしません。

オブジェクト配列はどうする?

JavaScriptのオブジェクトを扱うとき、=はただの値渡しではない

オブジェクトの場合、値渡しされるのはポインタ(参照の値渡し)。

  • Jqueryの$.extend()を使う

NodeJSではjquery.extend()は使えない

$ npm install jquery
var $ = require('jquery')
$.extend({},object)

NodeJSで使おうとすると、
extend is not a functionと怒られる。

Node.jsで$.extendを使いたい!!!

$ npm install extend
var extend = require('extend')
//targetObjectにobject1,object2をマージするやり方
extend(targetObject, object1, object2);

//新規にオブジェクトを生成したいときは空のオブジェクトにマージする
extend( {},{値渡ししたいオブジェクト} )

GitHub

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1