我有一个像这样的JSON数组:
_htaItems = [
{"ID":1,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0},
{"ID":2,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0}]
Run Code Online (Sandbox Code Playgroud)
我想通过将ID,列名和新值传递给函数来更新它:
function updateJSON(ID, columnName, newValue)
{
var i = 0;
for (i = 0; i < _htaItems.length; i++)
{
if (_htaItems[i].ID == ID)
{
?????
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何更新价值?我知道我可以做以下事情:
_htaItems[x].description = 'New Value'
Run Code Online (Sandbox Code Playgroud)
但在我的原因中,列名称作为字符串传递.
我已经为此苦苦挣扎了一段时间,我希望有人可以提供帮助。我有一个使用服务获取数据的组件。我正在尝试向它添加单元测试。我的问题是测试总是失败,并显示“错误:没有 Http 提供者”。这是我的代码:
服务:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import { Contact } from './contact.model';
@Injectable()
export class ContactsService {
constructor(private http: Http) { }
public getContacts(): Observable<Array<Contact>> {
return this.http.get('assets/contacts.json').map(res => {
let r = res.json().Contacts;
return r;
});
}
}
Run Code Online (Sandbox Code Playgroud)
成分:
import { Component, OnInit, NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { Contact } from '../contact.model';
import { …Run Code Online (Sandbox Code Playgroud)