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();
}
コメント
コメントを投稿