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>

参考资料

  1. String.prototype.split
  2. R.split