web初心者がjavascriptで学んだメモを整理してみた. part2
web初心者がjavascriptで学んだメモを整理してみた. part2:
part1の続きです.
年越したし,下書きもパンクしそうなので投稿します.
そろそろ,vueで開発も出来るようになったのでvueのまとめをやりたいです.
名前の後ろに()でいろいろ付いてて,前方一致で分類.
取得データを変換するときに,idをkeyにして重複分はarrayで突っ込む.
constをarrayにすると何故かうまくいかない..
objectの中に含まれる場合ではなく,今回はarrayに含まれるものを確認する.
arrayの順番をグルーピングで分類したかった.
array同士をいろいろと操作したかった.
npm trends
https://www.npmtrends.com/
この記事では..
part1の続きです.年越したし,下書きもパンクしそうなので投稿します.
そろそろ,vueで開発も出来るようになったのでvueのまとめをやりたいです.
文字操作
名前の後ろに()でいろいろ付いてて,前方一致で分類.前方一致
const name = 'aaa(bbb)'; const search = 'aaa'; // 正確には一致した場所(0)を返す. !0=> true const result = !name.indexOf(search ) console.log(result) //true
変換
取得データを変換するときに,idをkeyにして重複分はarrayで突っ込む.constをarrayにすると何故かうまくいかない..
いろいろと突っ込む
const array = [ { id:"1", name:"aaa" }, { id:"1", name:"bbb" }, { id:"2", name:"ccc" } ] const result = {} array.forEach( val => val.id in result ? result[val.id].push(val):result[val.id] = [val] ) console.log(result) // { // 1: [ {id: "1", name: "aaa"}, {id: "1", name: "bbb"} ], // 2: [ {id: "2", name: "ccc"} ] // }
array.includes()
const array = [1,2,3,4,5] console.log(array.includes(1)) // true console.log(array.includes("1")) // false console.log(array.includes(6)) // false
array.includes()
const list = ["a","b","c","d"] const serachList = ["d","b"] result = list.filter( val => serachList.includes(val) ) .concat(list.filter( val => !serachList.includes(val)) ) console.log(result) // ["b","d","a","c"] 順番は今回無視.やるならsearchListでループする
2array
function listAction(list, addList){ // addListでフィルタにかける const result = list.filter(val => ! addList.includes(val)) if((list.length - addList.length) === result.length){ // もともと全て含んでいる場合は解除したいということ return result } // 重複無しで追加 return result.concat(addList) } const list = [10,9,8,7,6,5,4,3,2,1] console.log(listAction(list,[8,9,10])) // [7, 6, 5, 4, 3, 2, 1] console.log(listAction(list,[8,9,10,11])) //[7, 6, 5, 4, 3, 2, 1, 8, 9, 10, 11] 順番は今回無視.
ライブラリなどの調査ツール
npm trendshttps://www.npmtrends.com/
csv
csv文字化けなし(エクセル)
var csv = 'ここにCSVのデータを入れる'; var link = document.createElement('a'); var bom = new Uint8Array([0xEF, 0xBB, 0xBF]); var blob; if (window.navigator.msSaveOrOpenBlob) { // for ie blob = new Blob([bom, csv], {type: 'text/csv'}); window.navigator.msSaveOrOpenBlob(blob, csvName); } else if (window.webkitURL && window.webkitURL.createObjectURL) { // for chrome (and safari) blob = new Blob([bom, csv], {type: 'text/csv'}); link.setAttribute('download', csvName); link.setAttribute('href', window.webkitURL.createObjectURL(blob)); link.click(); } else if (window.URL && window.URL.createObjectURL) { // for firefox blob = new Blob([bom, csv], {type: 'text/csv'}); link.setAttribute('download', csvName); link.setAttribute('href', window.URL.createObjectURL(blob)); link.click(); }
コメント
コメントを投稿