私はAngular 5プロジェクトに取り組んでおり、配列に対してはAddとRemoveの機能があります。角度5 - 編集配列機能 - 方法
は、下記を参照してください:
私は最終的に私は、現在の配列オブジェクトを編集することができます..私はこれを行うにはどうすればよいをEDIT機能として必要なもの
addIT() {
this.widgets.push({ id: 1, title: 'widget', config: { sizex: 1 } });
}
?
私はAngular 5プロジェクトに取り組んでおり、配列に対してはAddとRemoveの機能があります。角度5 - 編集配列機能 - 方法
は、下記を参照してください:
私は最終的に私は、現在の配列オブジェクトを編集することができます..私はこれを行うにはどうすればよいをEDIT機能として必要なもの
addIT() {
this.widgets.push({ id: 1, title: 'widget', config: { sizex: 1 } });
}
?
あなたが欲しい要素をつかむためにArray.prototype.find()
を使用して、あなたがそうのように、必要なものは何でも変更することができます:あなたが一度に複数の編集を行いたい場合は、代わりに
editIT(id, prop, value) {
var elem = this.widgets.find(elem => elem.id === id);
if (elem !== null) {
elem[prop] = value;
}
}
、あなたが渡すことができますオブジェクトとそのように、Object.prototype.assign
を使用します。
editIT(id, changes) {
var elem = this.widgets.find(elem => elem.id === id);
if (elem !== null) {
elem = Object.assign(elem, changes);
}
}
をネストされたプロパティを処理するには、上記第1の溶液に、以下の変更を使用することができます
editIT(id, prop, value) {
var elem = this.widgets.find(elem => elem.id === id);
if (elem !== null) {
var props = prop.split(".");
// grab all except last property - we want the last property's containing object
var propToEdit = props.slice(0, props.length-1).reduce(function (el, _prop) {
// return nested object until last containing object
return el[_prop];
}, elem);
// set value on last property's containing object to the value passed in
propToEdit[props[props.length-1]] = value;
}
}
['Array.prototype.find()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)はあなたが探しているものです – mhodges