JavaScript:将字符串转换为数组
JavaScript: Convert string to array
我有一个数组:
itemSku = ["MY_SERVICE","SKU_A","SKU_B"];
现在我将这个值传递给 Angular 中的一个组件。在那里我检查了 itemSku 的类型,它返回一个字符串,所以我无法对此执行数组操作。
console.log(typeof itemSku);
*string*
如何将其转换回数组?我不允许使用 jquery 但可以使用 Javascript、Ramda 或 Lodash
您可以使用 JSON.parse(itemSKu) 将其转换回数组
试试这个:
let result = itemSku.split(",");
我们肯定需要更多的上下文来回答这个问题。但是,知道在某些情况下可以将数组转换为字符串可能会有用,也许您不小心将自己置于这种情况:
请注意,用于连接数组的默认字符是逗号 ,
:
var a = ['foo', 'bar'];
console.log(a.toString());
console.log(a + '');
console.log('' + a);
console.log(a.join());
console.log(String(a));
要从中恢复,你真的不需要 Ramda,你可以简单地做到 JavaScript:
var b = 'foo,bar';
var a = b.split(',');
console.log(a);
如果你真的想要 Ramda,R.split
会做类似的工作:
var splitByComma = R.split(',');
var a = splitByComma('foo,bar');
console.log(a);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>
参考资料
我有一个数组:
itemSku = ["MY_SERVICE","SKU_A","SKU_B"];
现在我将这个值传递给 Angular 中的一个组件。在那里我检查了 itemSku 的类型,它返回一个字符串,所以我无法对此执行数组操作。
console.log(typeof itemSku);
*string*
如何将其转换回数组?我不允许使用 jquery 但可以使用 Javascript、Ramda 或 Lodash
您可以使用 JSON.parse(itemSKu) 将其转换回数组
试试这个:
let result = itemSku.split(",");
我们肯定需要更多的上下文来回答这个问题。但是,知道在某些情况下可以将数组转换为字符串可能会有用,也许您不小心将自己置于这种情况:
请注意,用于连接数组的默认字符是逗号 ,
:
var a = ['foo', 'bar'];
console.log(a.toString());
console.log(a + '');
console.log('' + a);
console.log(a.join());
console.log(String(a));
要从中恢复,你真的不需要 Ramda,你可以简单地做到 JavaScript:
var b = 'foo,bar';
var a = b.split(',');
console.log(a);
如果你真的想要 Ramda,R.split
会做类似的工作:
var splitByComma = R.split(',');
var a = splitByComma('foo,bar');
console.log(a);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>
参考资料