我有一个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
值
答案 0 :(得分:4)
使用Object.values,您可以将值作为数组获取,然后只需将其传递给字符串:
Object.values(tagsArray).toString();
答案 1 :(得分:4)
一种可能的方法:
Backend TkAgg is interactive backend. Turning interactive mode on.
答案 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);