瘦人说

我忽略了[].splice

JavaScript的数组原型中的splice方法一直都被我忽略了,直到昨天看到CoffeeScript中数组的赋值操作时候才发现。如果你对它已经很了解了,那可以不用听我唠叨了。

CoffeeScript让编写js代码更加快捷,可读。并且语法糖举不胜举,写代码的同时也爽快而流畅,是我们追求的目标。但学习过程中还是别忘记它的宗旨:“It’s just JavaScript”,它就是JavaScript,别想太多。官网在这CoffeeScriptGitHub

splice是替换数组中元素的方法,MDN说明。当你知道该方法之后就别再傻瓜地去遍历数组而去替换值了。

语法如下:

array.splice(index , howMany[, element1[, ...[, elementN]]])

返回值为被替换的元素

实例:

var arr = [1, 2, 3, 4];
var removed = arr.splice(0, 2, 3, 4);
console.log(arr); // [3, 4, 3, 4]
console.log(removed); // [1, 2]

如果你了解CoffeeScript语法的话,这个代码应该不会陌生:

// CoffeeScript
arr = [1, 2, 3, 4]
arr[0..1] = [3, 4]

以上代码生产的js代码如下

// JavaScript
var arr, _ref;
arr = [1, 2, 3, 4];
[].splice.apply(arr, [0, 2].concat(_ref = [3, 4]))

结果都是把1和2替换为3和4。

同时,如果你觉得javascript是你的最爱的话,提醒你去关注这个生态圈里面的新鲜事,你如果有好玩的有趣的也可以分享给我。

Comments

Proudly published with Hexo