小编jag*_*ipa的帖子

使用字符串访问JSON或JS属性

我有一个像这样的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)

但在我的原因中,列名称作为字符串传递.

javascript json

11
推荐指数
1
解决办法
2万
查看次数

使用 DI 单元测试和模拟服务

我已经为此苦苦挣扎了一段时间,我希望有人可以提供帮助。我有一个使用服务获取数据的组件。我正在尝试向它添加单元测试。我的问题是测试总是失败,并显示“错误:没有 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)

unit-testing dependency-injection karma-jasmine angular

5
推荐指数
1
解决办法
4741
查看次数