首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用JS压缩字符串?

如何用JS压缩字符串?
EN

Stack Overflow用户
提问于 2020-10-02 18:35:40
回答 2查看 2.3K关注 0票数 0

尝试编写用于压缩字符串的功能(2个相等的字母变为1)。不要知道如何保存压缩的进度(尝试不同的组合与concat -不成功)。每次我的for取全字符串CodePen

代码语言:javascript
复制
let pass = '1122333456';

function CompressPass(string) {
  for (let i = 0; i < string.length; i++) {

    let concisePassword = string.split('');
    const item = string[i];
    const nextItem = string[i + 1];
    console.log(+item, +nextItem);

    if (item === nextItem) {
      concisePassword.splice(i, 1);
      console.log(concisePassword);
    } else {
      console.log('not equal: ', +item, +nextItem);
    }
  };
}
CompressPass(pass);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-02 19:20:38

也许这对你有帮助

代码语言:javascript
复制
let pass = '11223322345666600222222';
function CompressPass (string) {
  string += '-';
  let str = '';
  for (let i = 1; i < string.length; i++) {
    const nextItem = string[i];
    const item = string[i - 1];
     if (item != nextItem){
      str += item;
     }
  };
  return str;
}
console.log(CompressPass(pass))

票数 2
EN

Stack Overflow用户

发布于 2020-10-02 18:57:56

您可以尝试'lz- string‘来压缩和解压javascript中的字符串。

**我使用它来压缩本地存储数据(因为本地存储只有5MB的限制)

**对于较短的字符串,结果可能不可见,但您可以尝试。

链接:https://pieroxy.net/blog/pages/lz-string/index.html

示例:(来自上述链接)

代码语言:javascript
复制
<script language="javascript" src="lz-string.js"></script>

<script>
   var string = "This is my compression test.";
   alert("Size of sample is: " + string.length);

   var compressed = LZString.compress(string);
   alert("Size of compressed sample is: " + compressed.length);

   string = LZString.decompress(compressed);
   alert("Sample is: " + string);
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64176656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档