连接对象属性值

时间:2017-07-25 17:04:45

标签: javascript angularjs

我有一个JavaScript对象。我想连接它的所有属性值,比如说:

tagsArray["1"] = "one";
tagsArray["2"] = "two";
tagsArray["Z"] = "zed";

result = "one,two,zed"

仅仅为了背景,我有几个复选框,我需要更新隐藏的selectedKeys字段。服务器端(Asp.Net)代码+ AngularJS

的示例
<input hidden id="selectedKeys" value="1,5,8">

@foreach (var tag in tagsDictionary) {
    <input type="checkbox" 
        ng-model="tagsArray['@tag.Key']" 
        ng-true-value  ="'@tag.Key'" 
        ng-false-value ="" 
        ng-change="change(tagsArray)" />@tag.Value
}

所以在每次更改时我都需要更新#selectedKeys

5 个答案:

答案 0 :(得分:4)

使用Object.values,您可以将值作为数组获取,然后只需将其传递给字符串:

Object.values(tagsArray).toString();

答案 1 :(得分:4)

一种可能的方法:

Backend TkAgg is interactive backend. Turning interactive mode on.

有关Array.prototype.joinObject.values的详情。

答案 2 :(得分:1)

使用像这样的for循环:

String result = "";
for (var prop in tagsArray) {
    if (object.hasOwnProperty(property)) {
        result = result + prop + ";";
    }
}

答案 3 :(得分:1)

您可以使用Object.values()访问对象中的每个值,并使用join()将它们添加到一起。

var tagsArray = {
  "1" : "one",
  "2" : "two",
  "3" : "zed"
}

var joined = Object.values(tagsArray).join(',');

console.log(joined);

答案 4 :(得分:0)

您也可以尝试这种方式,

var tagsArray = {};
var result;
tagsArray["1"] = "one";
tagsArray["2"] = "two";
tagsArray["Z"] = "zed";

result = Object.keys(tagsArray).map(function(k){return tagsArray[k]}).join(",");
alert(result);