Skip to content

Instantly share code, notes, and snippets.

@xgqfrms-GitHub
Last active August 4, 2020 15:40
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save xgqfrms-GitHub/0bf82ff06037a0d1776c9f30033cbfd1 to your computer and use it in GitHub Desktop.
Save xgqfrms-GitHub/0bf82ff06037a0d1776c9f30033cbfd1 to your computer and use it in GitHub Desktop.
RegExp
@xgqfrms-GitHub
Copy link
Author

xgqfrms-GitHub commented Jun 4, 2017

JavaScript 蜘蛛

https://rollbar.com/docs/

const links = document.querySelectorAll(`ul.image-list a`);

let svg_name_arr = [];
let svg_url_obj = {};

for (let i = 0; i < links.length; i++) {
    if (links[i].getAttribute('class')) {
        let x = links[i].getAttribute('class');
        let y = links[i].setAttribute('download', `${i}-${x}`.svg)
        svg_name_arr.push(x);
        let img = getComputedStyle(links[i], '::before').getPropertyValue('background-image');
        let newImage = img.replace(/(url\(")|("\))/g,'');
        svg_url_obj[i] = newImage;
    }
}

console.log(`svg_name_arr = \n`, svg_name_arr);

console.log(`svg_url_obj = \n`, svg_url_obj);



/*
add new key to object javascript

https://stackoverflow.com/questions/1168807/how-can-i-add-a-key-value-pair-to-a-javascript-object

https://stackoverflow.com/questions/11057802/add-new-element-to-an-existing-object

http://pietschsoft.com/post/2015/09/05/JavaScript-Basics-How-to-create-a-Dictionary-with-KeyValue-pairs


https://javascript.info/object
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object



*/
svg_name_arr = [
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other",
    "slack",
    "hipchat",
    "flowdock",
    "campfire",
    "github",
    "bitbucket",
    "gitlab",
    "jira",
    "trello",
    "github",
    "bitbucket",
    "gitlab",
    "pivotal",
    "asana",
    "sprintly",
    "pagerduty",
    "victorops",
    "opsgenie image-list",
    "datadog",
    "webhooks",
    "helpscout",
    "split",
    "bash",
    "bitbucket",
    "capistrano",
    "engineyard",
    "fabric",
    "heroku",
    "msbuild",
    "powershell",
    "octopus",
    "other",
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other"
];


svg_url_obj = {
    0: "https://rollbar.com/assets/shared/logos/ruby-icon.svg",
    1: "https://rollbar.com/assets/shared/logos/php-icon.svg",
    2: "https://rollbar.com/assets/shared/logos/node-icon.svg",
    3: "https://rollbar.com/assets/shared/logos/python-icon.svg",
    4: "https://rollbar.com/assets/shared/logos/dotnet-icon.svg",
    5: "https://rollbar.com/assets/shared/logos/java-icon.svg",
    6: "https://rollbar.com/assets/shared/logos/go-icon.png",
    7: "https://rollbar.com/assets/shared/logos/laravel-icon.svg",
    8: "https://rollbar.com/assets/shared/logos/meteor-icon.svg",
    9: "https://rollbar.com/assets/shared/logos/clojure-icon.gif",
    10: "https://rollbar.com/assets/shared/logos/haskell-icon.png",
    11: "https://rollbar.com/assets/shared/logos/erlang-icon.png",
    12: "https://rollbar.com/assets/shared/logos/elixir-icon.png",
    13: "https://rollbar.com/assets/shared/logos/google-cloud-platform-icon.png",
    14: "https://rollbar.com/assets/shared/logos/perl-icon.svg",
    15: "https://rollbar.com/assets/shared/logos/r-icon.svg",
    16: "https://rollbar.com/assets/shared/logos/rust-icon.svg",
    17: "none",
    18: "https://rollbar.com/assets/shared/logos/javascript-icon.png",
    19: "https://rollbar.com/assets/shared/logos/react-icon.svg",
    20: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    21: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    22: "https://rollbar.com/assets/shared/logos/ember-icon.png",
    23: "https://rollbar.com/assets/shared/logos/backbone-icon.svg",
    24: "https://rollbar.com/assets/shared/logos/android-icon.svg",
    25: "https://rollbar.com/assets/shared/logos/apple-icon.svg",
    26: "https://rollbar.com/assets/shared/logos/ionic-icon.png",
    27: "https://rollbar.com/assets/shared/logos/actionscript-icon.png",
    28: "none",
    29: "https://rollbar.com/assets/shared/logos/fluentd-icon.svg",
    30: "https://rollbar.com/assets/shared/logos/logentries-icon.png",
    31: "https://rollbar.com/assets/shared/logos/logstash-icon.png",
    32: "https://rollbar.com/assets/shared/logos/mailgun-icon.png",
    33: "none",
    34: "https://rollbar.com/assets/shared/logos/slack-icon.png",
    35: "https://rollbar.com/assets/shared/logos/hipchat-icon.png",
    36: "https://rollbar.com/assets/shared/logos/flowdock-icon.png",
    37: "https://rollbar.com/assets/shared/logos/campfire-icon.png",
    38: "https://rollbar.com/assets/shared/logos/github-icon.png",
    39: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    40: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    41: "https://rollbar.com/assets/shared/logos/jira-logo-horiz.png",
    42: "https://rollbar.com/assets/shared/logos/trello-icon.png",
    43: "https://rollbar.com/assets/shared/logos/github-icon.png",
    44: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    45: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    46: "https://rollbar.com/assets/shared/logos/pivotal-icon.png",
    47: "https://rollbar.com/assets/shared/logos/asana-logo-vert.png",
    48: "https://rollbar.com/assets/shared/logos/sprintly-icon.png",
    49: "https://rollbar.com/assets/shared/logos/pagerduty-icon.png",
    50: "https://rollbar.com/assets/shared/logos/victorops-icon.svg",
    51: "https://rollbar.com/assets/shared/logos/opsgenie-icon.png",
    52: "https://rollbar.com/assets/shared/logos/datadog-icon.png",
    53: "https://rollbar.com/assets/shared/logos/webhooks-icon.png",
    54: "https://rollbar.com/assets/shared/logos/helpscout-icon.svg",
    55: "https://rollbar.com/assets/shared/logos/split-icon.png",
    56: "https://rollbar.com/assets/shared/logos/bash-icon.png",
    57: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    58: "https://rollbar.com/assets/shared/logos/capistrano-icon.png",
    59: "https://rollbar.com/assets/shared/logos/engineyard-logo-horiz.png",
    60: "https://rollbar.com/assets/shared/logos/fabric-icon.png",
    61: "https://rollbar.com/assets/shared/logos/heroku-icon.svg",
    62: "https://rollbar.com/assets/shared/logos/msbuild-icon.png",
    63: "https://rollbar.com/assets/shared/logos/powershell-icon.png",
    64: "https://rollbar.com/assets/shared/logos/octopus-icon.png",
    65: "none"
};

@xgqfrms-GitHub
Copy link
Author

Object

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype

Object.prototype 属性表示 Object 的原型对象。

JavaScript中几乎所有的对象都是 Object 的实例;

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties

Object.defineProperties() 方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

Object.assign() 方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。并返回目标对象。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/create

Object.create() 方法使用指定的原型对象和其属性创建了一个新的对象。

@xgqfrms-GitHub
Copy link
Author

xgqfrms-GitHub commented Jun 4, 2017

深度拷贝问题

https://gist.github.com/xgqfrms-GitHub/61b92cd14761e71d9922cb182550ba11

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

针对深度拷贝,需要使用其他方法 JSON.parse(JSON.stringify(obj));,因为 Object.assign() 拷贝的是属性值。
假如源对象的属性值是一个指向对象的引用,它也只拷贝那个引用值。

function test() {
  let a = { b: {c:4} , d: { e: {f:1}} };

  let g = Object.assign({},a);

  let h = JSON.parse(JSON.stringify(a));

  console.log(g.d); // { e: { f: 1 } }
  g.d.e = 32;

  console.log('g.d.e set to 32.') 
// g.d.e set to 32.
  console.log(g); // { b: { c: 4 }, d: { e: 32 } }
  console.log(a); // { b: { c: 4 }, d: { e: 32 } }

  console.log(h); 
// { b: { c: 4 }, d: { e: { f: 1 } } }


  h.d.e = 54;
  console.log('h.d.e set to 54.') ;
// h.d.e set to 54.

  console.log(g); // { b: { c: 4 }, d: { e: 32 } }
  console.log(a); // { b: { c: 4 }, d: { e: 32 } }

  console.log(h); 
// { b: { c: 4 }, d: { e: 54 } }
}
test();

@xgqfrms-GitHub
Copy link
Author

HTTPS/HTTP Ajax Header & CORS

mlab, mongodb, db, json, api, free , online,

https://gist.github.com/xgqfrms-GitHub/a3fcffb6d7923e2a7471041053f00162

mlab, mongodb, db, json, api, free , online,

https://gist.github.com/xgqfrms-GitHub/f51920e16277785f7418c03bd4f9e220

@xgqfrms-GitHub
Copy link
Author

xgqfrms-GitHub commented Jun 4, 2017

svg_name_arr = [
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other",
    "slack",
    "hipchat",
    "flowdock",
    "campfire",
    "github",
    "bitbucket",
    "gitlab",
    "jira",
    "trello",
    "github",
    "bitbucket",
    "gitlab",
    "pivotal",
    "asana",
    "sprintly",
    "pagerduty",
    "victorops",
    "opsgenie image-list",
    "datadog",
    "webhooks",
    "helpscout",
    "split",
    "bash",
    "bitbucket",
    "capistrano",
    "engineyard",
    "fabric",
    "heroku",
    "msbuild",
    "powershell",
    "octopus",
    "other",
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other"
];


svg_url_obj = {
    0: "https://rollbar.com/assets/shared/logos/ruby-icon.svg",
    1: "https://rollbar.com/assets/shared/logos/php-icon.svg",
    2: "https://rollbar.com/assets/shared/logos/node-icon.svg",
    3: "https://rollbar.com/assets/shared/logos/python-icon.svg",
    4: "https://rollbar.com/assets/shared/logos/dotnet-icon.svg",
    5: "https://rollbar.com/assets/shared/logos/java-icon.svg",
    6: "https://rollbar.com/assets/shared/logos/go-icon.png",
    7: "https://rollbar.com/assets/shared/logos/laravel-icon.svg",
    8: "https://rollbar.com/assets/shared/logos/meteor-icon.svg",
    9: "https://rollbar.com/assets/shared/logos/clojure-icon.gif",
    10: "https://rollbar.com/assets/shared/logos/haskell-icon.png",
    11: "https://rollbar.com/assets/shared/logos/erlang-icon.png",
    12: "https://rollbar.com/assets/shared/logos/elixir-icon.png",
    13: "https://rollbar.com/assets/shared/logos/google-cloud-platform-icon.png",
    14: "https://rollbar.com/assets/shared/logos/perl-icon.svg",
    15: "https://rollbar.com/assets/shared/logos/r-icon.svg",
    16: "https://rollbar.com/assets/shared/logos/rust-icon.svg",
    17: "none",
    18: "https://rollbar.com/assets/shared/logos/javascript-icon.png",
    19: "https://rollbar.com/assets/shared/logos/react-icon.svg",
    20: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    21: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    22: "https://rollbar.com/assets/shared/logos/ember-icon.png",
    23: "https://rollbar.com/assets/shared/logos/backbone-icon.svg",
    24: "https://rollbar.com/assets/shared/logos/android-icon.svg",
    25: "https://rollbar.com/assets/shared/logos/apple-icon.svg",
    26: "https://rollbar.com/assets/shared/logos/ionic-icon.png",
    27: "https://rollbar.com/assets/shared/logos/actionscript-icon.png",
    28: "none",
    29: "https://rollbar.com/assets/shared/logos/fluentd-icon.svg",
    30: "https://rollbar.com/assets/shared/logos/logentries-icon.png",
    31: "https://rollbar.com/assets/shared/logos/logstash-icon.png",
    32: "https://rollbar.com/assets/shared/logos/mailgun-icon.png",
    33: "none",
    34: "https://rollbar.com/assets/shared/logos/slack-icon.png",
    35: "https://rollbar.com/assets/shared/logos/hipchat-icon.png",
    36: "https://rollbar.com/assets/shared/logos/flowdock-icon.png",
    37: "https://rollbar.com/assets/shared/logos/campfire-icon.png",
    38: "https://rollbar.com/assets/shared/logos/github-icon.png",
    39: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    40: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    41: "https://rollbar.com/assets/shared/logos/jira-logo-horiz.png",
    42: "https://rollbar.com/assets/shared/logos/trello-icon.png",
    43: "https://rollbar.com/assets/shared/logos/github-icon.png",
    44: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    45: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    46: "https://rollbar.com/assets/shared/logos/pivotal-icon.png",
    47: "https://rollbar.com/assets/shared/logos/asana-logo-vert.png",
    48: "https://rollbar.com/assets/shared/logos/sprintly-icon.png",
    49: "https://rollbar.com/assets/shared/logos/pagerduty-icon.png",
    50: "https://rollbar.com/assets/shared/logos/victorops-icon.svg",
    51: "https://rollbar.com/assets/shared/logos/opsgenie-icon.png",
    52: "https://rollbar.com/assets/shared/logos/datadog-icon.png",
    53: "https://rollbar.com/assets/shared/logos/webhooks-icon.png",
    54: "https://rollbar.com/assets/shared/logos/helpscout-icon.svg",
    55: "https://rollbar.com/assets/shared/logos/split-icon.png",
    56: "https://rollbar.com/assets/shared/logos/bash-icon.png",
    57: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    58: "https://rollbar.com/assets/shared/logos/capistrano-icon.png",
    59: "https://rollbar.com/assets/shared/logos/engineyard-logo-horiz.png",
    60: "https://rollbar.com/assets/shared/logos/fabric-icon.png",
    61: "https://rollbar.com/assets/shared/logos/heroku-icon.svg",
    62: "https://rollbar.com/assets/shared/logos/msbuild-icon.png",
    63: "https://rollbar.com/assets/shared/logos/powershell-icon.png",
    64: "https://rollbar.com/assets/shared/logos/octopus-icon.png",
    65: "none"
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment