被引号包裹的数组 怎么转换成数组

547 阅读1分钟

最近在做地图 后端返回地点看着是个数组 结果渲染不上去 才发现两头多了个引号 行吧 懒得让后端改了 let arr = "[114.254587,22.5447845]" 用eval(arr) image.png

了解eval()函数 eval():

  作用:它的作用是把对应的字符串解析成js代码并运行(将json的字符串解析成为JSON对象);

  特点:它是一个全局函数;

  缺点:1>在该函数内部申明的变量都是全局变量,且申明的变量不会提升;

       2>耗性能,执行2次,一次解析成js语句,一次执行js代码;

后来代码上交被大佬看见了 改成了JSON.parse()

因为对eval的兴趣,看了红宝书,专门介绍了表达计算式,在这里做一个记录。

1.条件运算符( ?: ) 就是三元运算符 和if有同样的效果 只是三元更加简洁

2.typeof运算符 -一元运算符 放在某个操作数面前 操作数可以是任何类型 返回值是表示操作数类型的一个字符串 常用的表达式 结合三元运算符

(type value == 'string') ? "'" + value + "'" : value 在switch 同样很有用

3.delete -一元操作符 用来删除对象属性或者数组元素

 var o = { x:1, y:2}
 delete 0.x
 
 var arr = [ 1,2,3 ]
 delete a[2]

4.void 运算符

5.逗号运算符(,) -二元运算符

 操作可以是任意类型 首先计算左边 再依次往右  最后返回右操作数的值。