[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
歌詞をプロジェクタを使って投影することがある。その時によく使うテクニックの話。クリスマスの時期とかよくやるんですよ、こういうの。
配列内の要素を、内容によって分割したい、ということがあった。例えば以下のような感じである。
const SEX = ['male', 'female'];
var list = [
{sex:0, name:'tTro'},
{sex:1, name:'Hanako'},
{sex:1, name:'Mai'},
{sex:0, name:'Seiji'},
{sex:0, name:'Masaru'}
];
// これを以下のようにする
{
male: [
{sex:0, name:'Taro'},
{sex:0, name:'Seiji'},
{sex:0, name:'Masaru'}
],
female: [
{sex:1, name:'Hanako'},
{sex:1, name:'Mai'}
]
}
その為に以下のようなものを書いた。
var groupArray = function(array, groupBy) {
var result = {};
var length = array.length;
for(var i = 0; i < length; i++) {
groupId = groupBy(array[i], i, array);
if(! result[groupId]) {
result[groupId] = [];
}
result[groupId].push(array[i]);
}
return result;
};
//使い方
console.log( groupArray(list, function(value){
return SEX[value.sex];
}));
Jenkins のビルドの現状を取得するにはJenkins APIでジョブ情報を取得する - Qiita 等に書かれているようなアクセス方法で採れるのだが、素の JS でとるにはクロスドメイン制限にひっかかる。これをなんとかするための設定を Jenkins 側に書くと問題なく Jenkins のビルド状態を JSON で取得できるようになる。
行うべき設定は単純であり Secure Requester Whitelist Plugin を入れればよい。あとはリンク先のページに解説されている。
日本語でググッても有用な記事が出てこなかったので書いた感じの記事であった。
仕事用に作ったユーティリティだけど、仕事の要素ないので公開してしまう。
タイトルそのまんま。公式サイト:jQuery plugin: Tablesorter
何ができるのかは公式サイトのサンプルを見るとよくわかる。
使い方は比較的簡単であり、デモを動かすためのコードも掲載されている。
ただ、サラッと書かれていて最初困った話として You must include THEAD and TBODY tags
な点には注意。特に動的にテーブルを作成して、それをソートしたい場合とか。これで私はなかなか動かせず困ったのであった。