在数组上转换字符串

时间:2018-07-24 16:12:03

标签: javascript

如果输入值将是一个数组,我想显示console.log

let myValue = document.querySelector('.inputClass').value;

if (myValue instanceof Array) {
    console.log('To jest tablica');
}

我知道输入值是一个字符串,但无法将其转换为数组。

2 个答案:

答案 0 :(得分:0)

首先,不建议使用<script src="http://d3js.org/d3.v3.min.js"></script>检查数组。相反,您可以使用

instanceof

第二,let myValue = document.querySelector('.inputClass').value; if (Array.isArray(myValue)) { console.log('To jest tablica'); } 永远不会返回数组。仅一个字符串(或未定义)。因此,您可以拆分字符串,或根据document.querySelector.value的格式执行JSON.parse()使其成为数组。

如果您的价值类似于

myValue

然后您可以使用["element", "element1", "element3"]

如果您的价值类似于:

JSON.parse(),预期输出为"element element1 element3",然后可以使用["element", "element1", "element3"]

对其进行拆分。

答案 1 :(得分:0)

1.1-字符串是JSON字符串

...您首先需要解析它:

myValue = "[1,2,3]";
myValue = JSON.parse(myValue);
// myValue is now an array [1,2,3];

1.2-字符串是用逗号分隔的项目列表

...您应该分割字符串:

myValue = "1,2,3";
myValue = myValue.split(',');
// myValue is now an array [1,2,3]

1.3-如果您需要一个字符数组

...您应该分割不带分隔符char的字符串:

myValue = "123";
myValue = myValue.split('');
// myValue is now an array [1,2,3]

2-验证

但是检查您是否有数组没有意义,因为您已经知道这一点。我想您需要知道是否有多个元素。为此,您应该检查长度:

if (myValue.length>1) {
    console.log('more than one item!');
}