JS使用toString获取字符串中的数组(不改变实际数组)
JS get array in string using toString (without changing the actual array)
我正在尝试将 js 数组转换为字符串。该字符串应该是隐藏输入的值,如下所示:
<input type="hidden" ng-model="myIndicationsString" />
在控制器中:
$scope.myIndicationsString = $scope.productIndications.toString();
问题是,它将数组更改为字符串值,因此当需要在 $scope.productIndications 中进行更改时,它没有这样做。
有没有像 toString() 这样的方法而不改变实际元素?只返回一个字符串结果?
先谢谢了
我不确定你到底在问什么,但 join 可能是你要找的。
假设你的数组是array = [John, Steve, Rob, Mary, Tom]
,那么你可以做的是:
array.join(',') \John,Steve,Rob,Mary,Tom
array.join(' ') \John Steve Rob Mary Tom
array.join('And') \JohnAndSteveAndRobAndMaryAndTom
稍微混淆了你的要求,但是,假设你正在使用 angularjs,你可以制作一个范围变量的相同副本以保持原始变量的状态。
var test = [1, 2, 3],
test2;
angular.copy(test, test2);
test2 现在应该是一个完全相同的副本,您可以在不影响测试的情况下对其进行操作。
尝试使用 JSON.stringify
生成数组的字符串表示形式,如下所示:
$scope.myIndicationsString = JSON.stringify($scope.productIndications);
这个函数不会修改原来的数组,所以你可以像以前一样继续使用它。如果您需要将 stringify
returns 的字符串转回数组,您可以使用 JSON.parse
来实现。
我正在尝试将 js 数组转换为字符串。该字符串应该是隐藏输入的值,如下所示:
<input type="hidden" ng-model="myIndicationsString" />
在控制器中:
$scope.myIndicationsString = $scope.productIndications.toString();
问题是,它将数组更改为字符串值,因此当需要在 $scope.productIndications 中进行更改时,它没有这样做。 有没有像 toString() 这样的方法而不改变实际元素?只返回一个字符串结果? 先谢谢了
我不确定你到底在问什么,但 join 可能是你要找的。
假设你的数组是array = [John, Steve, Rob, Mary, Tom]
,那么你可以做的是:
array.join(',') \John,Steve,Rob,Mary,Tom
array.join(' ') \John Steve Rob Mary Tom
array.join('And') \JohnAndSteveAndRobAndMaryAndTom
稍微混淆了你的要求,但是,假设你正在使用 angularjs,你可以制作一个范围变量的相同副本以保持原始变量的状态。
var test = [1, 2, 3],
test2;
angular.copy(test, test2);
test2 现在应该是一个完全相同的副本,您可以在不影响测试的情况下对其进行操作。
尝试使用 JSON.stringify
生成数组的字符串表示形式,如下所示:
$scope.myIndicationsString = JSON.stringify($scope.productIndications);
这个函数不会修改原来的数组,所以你可以像以前一样继续使用它。如果您需要将 stringify
returns 的字符串转回数组,您可以使用 JSON.parse
来实现。