js swap array

ES6 swap array

就地交换

  1. no need let , const

[
b,
a,
] = [
a,
b,
];

// ES6 swap
const arr = [1, 2]; [
arr[0],
arr[1],
] = [
arr[1],
arr[0],
]; arr;
// (2) [2, 1]

ES5

/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
let len = Math.floor(s.length / 2);
for(let i = 0; i < len; i++) {
// ES5 swap
const temp = s[i];
s[i] = s[s.length - i - 1];
s[s.length - i - 1] = temp;
}
};

ES6


/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
let len = Math.floor(s.length / 2);
for(let i = 0; i <= len; i++) {
// ES6 swap, more faster
[
s[s.length - i - 1],
s[i],
] = [
s[i],
s[s.length - i - 1],
];
}
};

leetcode

https://leetcode.com/problems/reverse-string/

/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
let len = Math.floor(s.length / 2);
// if(s.length % 2 === 0) {
// len -= 1;
// }
// for(let i = 0; i <= len; i++) {
for(let i = 0; i < len; i++) {
// ES6 swap, more faster
[
s[s.length - i - 1],
s[i],
] = [
s[i],
s[s.length - i - 1],
];
// const temp = s[i];
// s[i] = s[s.length - i - 1];
// s[s.length - i - 1] = temp;
}
// return Array.from(s).reverse().join(``);
};

https://stackoverflow.com/search?q=js+swap+array

refs

destructuring assignment / 解构赋值

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

const log = console.log;

let a, b, rest;

[a, b] = [10, 20];

log(a);
// 10 log(b);
// 20 [a, b, ...rest] = [10, 20, 30, 40, 50]; log(rest);
// [30,40,50]

refs



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


最新文章

  1. OPENGL学习之路(0)--安装
  2. 【BZOJ】1054: [HAOI2008]移动玩具(bfs+hash)
  3. 再论 ASP.NET 中获取客户端IP地址
  4. React-Flux 介绍及实例演示
  5. OC8_setter方法展开
  6. bzoj 1924 [Sdoi2010]所驼门王的宝藏(构图,SCC,DP)
  7. 判图的连通性(dfs,并查集)
  8. 基于visual Studio2013解决面试题之1405归并排序
  9. oracle 查询 归档日志最大值和平均值
  10. 有关素数判断的一些算法(总结&amp;&amp;对比)
  11. 从现在开始,这是一个IT博客。
  12. windows server 2008 R2无法共享文件夹,无法启用网络发现。
  13. Java 中的队列 Queue
  14. 结合JSFL/actionscript 实现轮廓动画
  15. C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
  16. 如何在Web.config中注册用户控件和自定义控件
  17. 关于ANDROID模拟器的一些事
  18. IOS Singleton(单例)
  19. 矩阵乘法&lt;简单总结&gt;
  20. C++虚函数解析(转载)

热门文章

  1. charles配置
  2. functools.singledispatchmethod(Python 3.8) | 码农网 https://www.codercto.com/a/83245.html
  3. CF1428C
  4. LOJ10019生日蛋糕
  5. tricks - 思维
  6. 某cms最新版前台RCE漏洞(无需任何权限)2020-03-15
  7. XCTF-基础Android
  8. spark SQL(三)数据源 Data Source----通用的数据 加载/保存功能
  9. linux c驴杂记
  10. 2020第十一届蓝桥杯第二场JavaB组