Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换字符串数组_Javascript_Angularjs - Fatal编程技术网

Javascript 转换字符串数组

Javascript 转换字符串数组,javascript,angularjs,Javascript,Angularjs,我有这样一个数组: ["[Date.UTC(2016,09,30),250500.00]","[Date.UTC(2016,09,29),255100.83]", "[Date.UTC(2016,09,28),255600.82]"] 我怎样才能把它转换成这样的东西 [[Date.UTC(2016,09,27),256100.83],[Date.UTC(2016,09,25),261091.57],[Date.UTC(2016,09,23),261391.58]] 我正在用AngularJS

我有这样一个数组:

["[Date.UTC(2016,09,30),250500.00]","[Date.UTC(2016,09,29),255100.83]", "[Date.UTC(2016,09,28),255600.82]"]
我怎样才能把它转换成这样的东西

[[Date.UTC(2016,09,27),256100.83],[Date.UTC(2016,09,25),261091.57],[Date.UTC(2016,09,23),261391.58]]
我正在用AngularJS试试这个。

好了

它虽然不漂亮,但很有效,而且不使用
eval

var a=[“[Date.UTC(2016,09,30),250500.00],”[Date.UTC(2016,09,29),255100.83],“[Date.UTC(2016,09,28),255600.82]”;
var result=a.map(函数(元素){
var row=JSON.parse(element.replace('Date.UTC(',''))。replace('),'')。replace(/,0/g,,');
返回[新日期(第[0]行、第[1]行、第[2]行]、第[3]行];
});
控制台日志(结果)试试这个

const输入=[
“[UTC日期(2016年9月30日),250500.00]”,
“[UTC日期(2016年9月29日),255100.83]”,
“[UTC日期(2016年9月28日),255600.82]”
]
const result=inputs.map(项=>{
常数项=项
.替换('[Date.UTC(','')
.替换(']','')
.替换('),“”)
常量trimItems=trimItem.split(','))
常量YYYY=trimItems[0]
常数MM=trimItems[1]
const DD=trimmitems[2]
常数结果=[
UTC日期(YYYY,MM,DD),
编号(项目[3])
]
返回结果
})

log(result)
这里有一个使用一些正则表达式的类似解决方案:)我想知道这个月是从零开始还是从一开始作为索引!Javascript日期以月为单位,索引为零

console.log([“[Date.UTC(2016,09,30),250500.00]”,“[Date.UTC(2016,09,29),255100.83]”,“[Date.UTC(2016,09,28),255600.82]”地图(功能(i){
漂浮;
var date=/date\.UTC\(\d{4}),(\d{2}),(\d{2})\/.exec(i);
日期=新日期(UTC日期(+日期[1],+日期[2]-1,+日期[3]);
漂浮=+i.split('),')[1]。split(']')[0];
返回[日期,漂浮];
}))
在georg's和Cerburs's之间,有一个类似于
eval
但不使用
eval
的中间地带:
新功能

var from=[“[Date.UTC(2016,09,30),250500.00]”,“[Date.UTC(2016,09,29),255100.83]”,“[Date.UTC(2016,09,28),255600.82]”;
var to=from.map(e=>new函数('return'+e)()//to数组
.map(([a,b])=>[新日期(a,b]);//迄今为止
console.log(to)

第二行无效。您可以在数组中获取结果时间戳,但不能获取该时间戳。
arrayVar.toString()
用于this@Cerbrus是的,但我需要那种风格的海图。海图需要JS日期对象吗?还是时间戳?@Mr.George Wow,这是一个很好的隐藏自己不被eval警察发现的方法,但是
新函数
只是eval是伪装。@georg新函数会评估您提供的任何字符串,但它不会泄漏eval这样的作用域,因此不会污染它们。作用域访问是eval使整个脚本变慢的主要原因,因为eval不仅影响自身,还影响其他代码。
data = ["[Date.UTC(2016,09,30),250500.00]","[Date.UTC(2016,09,29),255100.83]", "[Date.UTC(2016,09,28),255600.82]"]

var parseItem = function(it) {
    var utcDateReplaced = it.replace(/Date\.UTC\((.*)\)/, function() {
      argsRaw = arguments[1];
      args = argsRaw.split(',');
      return Date.UTC.apply(Date, args);
    })

    return JSON.parse(utcDateReplaced);
}

var result = data.map(parseItem);
console.log(result); 
// ===> [[1477785600000, 250500], [1477699200000, 255100.83], [1477612800000, 255600.82]]