JavaScript:将字符串转换为数组

时间:2018-12-12 06:43:58

标签: javascript angularjs lodash ramda.js

我有一个数组:

itemSku = ["MY_SERVICE","SKU_A","SKU_B"];

现在,我将此值传递给Angular中的组件。在那里,我检查了itemSku的类型,它返回了一个字符串,因此我无法对此执行数组操作。

console.log(typeof itemSku);
*string*

如何将其转换回数组?我不允许使用jquery,但可以使用Javascript,Ramda或Lodash

3 个答案:

答案 0 :(得分:0)

您可以使用JSON.parse(itemSKu)将其转换回数组

答案 1 :(得分:0)

尝试一下:

let result = itemSku.split(",");

答案 2 :(得分:0)

我们当然需要更多上下文来回答这个问题。但是,知道在某些情况下可以将数组转换为字符串可能很有用,也许您偶然将自己置于这种情况下:

请注意,用于加入数组的默认字符是逗号,

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. https://www.elastic.co/guide/en/elasticsearch/reference/current/boolean.html
  2. String.prototype.split