web初心者がjavascriptで学んだメモを整理してみた. part2

web初心者がjavascriptで学んだメモを整理してみた. part2:


この記事では..

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"} ]  
// } 
objectの中に含まれる場合ではなく,今回はarrayに含まれるものを確認する.

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の順番をグルーピングで分類したかった.

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でループする 
array同士をいろいろと操作したかった.

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 trends
https://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(); 
} 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)