javascript:repalce(regEx,Fn)
回调函数Fn()中如何拿到arguments的值
阮一峰《ES6入门》第五章正则表达式的扩展中的一个例子,运行时出错。
let re = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/u;//replace方法的第二个参数也可以是函数,该函数的参数序列如下。prn('2015-01-02'.replace(re, (matched, // 整个匹配结果 2015-01-02 capture1, // 第一个组匹配 2015 capture2, // 第二个组匹配 01 capture3, // 第三个组匹配 02 position, // 匹配开始的位置 0 S, // 原字符串 2015-01-02 groups // 具名组构成的一个对象 {year, month, day} ) => { let {year, month, day} = arguments[arguments.length - 1]; //赋值不成功!? //let {year, month, day} = groups; //这个是OK的。 return `${day}/${month}/${year}`; }));
arguments[arguments.length - 1]
调试观察,有值且是正确的,但是不能赋值出去,太奇怪了?
请达人指点,谢谢!
(用groups直接赋值是可以的,不用说了。)
相关分类