我试图将js数组转换为字符串。此字符串应为隐藏输入的值,如下所示:
<input type="hidden" ng-model="myIndicationsString" />
在控制器中:
$scope.myIndicationsString = $scope.productIndications.toString();
问题是,它将数组更改为字符串值,因此当需要在$ scope.productIndications中进行更改时,它无法执行此操作。 是否有类似toString()的方法而不更改实际元素?只返回字符串结果? 先谢谢
答案 0 :(得分:1)
尝试使用JSON.stringify
生成数组的字符串表示形式,如下所示:
$scope.myIndicationsString = JSON.stringify($scope.productIndications);
此函数不会修改原始数组,因此您将能够像以前一样继续使用它。如果您需要将stringify
返回的字符串转换回数组,则可以使用JSON.parse
来执行此操作。
答案 1 :(得分:0)
答案 2 :(得分:0)
稍微混淆了你的问题,但是,假设你正在使用angularjs,你可以制作一个范围变量的相同副本,以维持原始变量的状态。
var test = [1, 2, 3],
test2;
angular.copy(test, test2);
test2现在应该是一个可以操作的相同副本,而不会影响测试。