Skip to content

Instantly share code, notes, and snippets.

View guoshuai93's full-sized avatar
🎯
Focusing

guoshuai93 guoshuai93

🎯
Focusing
  • Beijing, China.
View GitHub Profile
@guoshuai93
guoshuai93 / traverseAndModifyTree.js
Created December 30, 2024 03:05
遍历树结构的数组,支持修改对象的属性,并返回新的数组
// 遍历树结构的数组,支持修改对象的属性,并返回新的数组
function traverseAndModifyTree(tree, modifyFn) {
function traverse(node) {
// 修改节点属性
const newNode = modifyFn(node);
// 递归遍历子节点
if (newNode.children) {
newNode.children = newNode.children.map(child => traverse(child));
}
@guoshuai93
guoshuai93 / sleep.ts
Last active June 30, 2022 06:34
[js_util]
function sleep(ms: number = 3000): Promise<string> {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done')
})
}
sleep(1500).then(val => console.log(val))
@guoshuai93
guoshuai93 / encodeHTML&decodeHTML
Created January 21, 2021 02:48
HTML转义和反转义的方法
/**
* 转义HTML标签的方法
* @param {String} str 需要转义的HTML字符串
* @return {String} 转义后的字符串
*/
var funEncodeHTML = function (str) {
if (typeof str == 'string') {
return str.replace(/<|&|>/g, function (matches) {
return ({
'<': '&lt;',
@guoshuai93
guoshuai93 / shell使用
Created November 25, 2020 11:13
shell操作
#!/bin/bash
projects=(
"bibox"
"coinpark"
)
envs=(
"test"
"sandbox"
@guoshuai93
guoshuai93 / get-npm-package-version
Created September 23, 2020 05:42 — forked from DarrenN/get-npm-package-version
Extract version from package.json (NPM) using bash / shell
# Version key/value should be on his own line
PACKAGE_VERSION=$(cat package.json \
| grep version \
| head -1 \
| awk -F: '{ print $2 }' \
| sed 's/[",]//g')
echo $PACKAGE_VERSION
@guoshuai93
guoshuai93 / GitCommitEmoji.md
Created December 12, 2019 00:35 — forked from parmentf/GitCommitEmoji.md
Git Commit message Emoji
@guoshuai93
guoshuai93 / location.js
Last active August 16, 2018 06:30
获取url指定key对应的值
// url = 'https://www.baidu.com/s?wd=%E6%96%B0%E5%9E%A3%E7%BB%93%E8%A1%A3'
var urlParams = function (key) {
var ret = location.search.match(new RegExp('(\\?|&)' + key + '=(.*?)(&|$)'))
return ret && decodeURIComponent(ret[2])
}
urlParams('wd'); // '新垣结衣'
/**
* removeParam 删除 URL 中指定参数
@guoshuai93
guoshuai93 / String.js
Created March 7, 2018 09:13
字符串处理相关代码段
//----------------------------
// 实现数值千分位逗号隔开
// 1. 正则实现
function numThoundFormat(num){
var res = num.toString().replace(/\d+/, function(n){ // 先提取整数部分
return n.replace(/(\d)(?=(\d{3})+$)/g,function($1){
return $1+",";
});
});
// 1. location的search操作——解析url字符串,返回包含所有参数的一个对象
function getSearchObj(){
var qs = location.search.length>0 ? location.search.substr(1):'',
args = {},
items = qs.length>0 ? qs.split('&'):[],
item = null,name = null,value = null,i = 0,len = items.length;
for(i = 0;i < len; i++){
item = items[i].split('=');
name = decodeURIComponent(item[0]);