+ JavaScript の質問用スレッド vol.121 +
レス数が1000を超えています。これ以上書き込みはできません。
今javascriptとnode.jsを勉強してるんですがこの2つだけじゃ身につけにくいプログラミング言語の特徴みたいなのありますか?
型とかポインタ?とかかなと思うんですが 古すぎるスレを再利用するな無能
昔は賑わってたから分散を防ぐために1つ1つ潰していく必要があったし
それが美学だったが、もう死んでるスレを掘り起こす意味は無いだろ
さっさと新しく作れ >>646
別に死んでないよ
君はこのスレが使われると何か都合が悪いの? 立てるべきと思うなら立てりゃいい
前スレも再利用だしなんで今更言い出すのか知らんけど 馬鹿か
1つ、2つ前のスレならまだしも
2014年に建てられたスレをわざわざ掘り起こして再利用するヤツが居るかよ
テンプレだって腐ってんじゃねーか
ここに初めて質問した人にテンプレをまず確認しろという
超超超基本的なことも言えないだろ
下痢カス野郎 いや立てりゃいいじゃん
前スレ1000行く前に立てりゃ良かったのに 天才か
そりゃお前の言う通りだよ
オマケに次スレに案内したというところは超評価してるんだよ
でも案内先が地獄じゃねーかって文句一点だろ
いい加減理解しろよトンカチ頭 いやここで愚痴る間に立てりゃいいじゃん
誰も禁止してない NO
俺は建てない
お前は国に不満があったら国を作るのか?
この親不孝者め! Chromeブラウザの機能拡張についてはここで大丈夫でしょうか
自作の機能拡張を作りました。
ローカルから機能拡張をあててローカルに保存されたhtmlに対してだとエラーがでないのですが
ストアに登録して機能拡張あててローカルに保存されたhtmlだとエラーがでます。
manifestは
"permissions": [
"activeTab",
],
です。これだけだと足りないみたいなので"file://*/"を足そうと思うのですが
この対策で妥当ですか?
エラーは
lastError: Cannot access contents of the page. Extension manifest must request permission to access the respective host.
です
よろしくお願いします 自己解決
"file://*/"の追加はいらない。機能拡張の設定からファイルへのアクセスを許可をONにするでいけました。
ローカルでの機能拡張の場合はデフォルトでONになってる。 jsで配列等の初期値は未定義ですか?
配列作成後、各要素にどのような値が入っているか仕様上の保証はありますか? JSで初期値があるのは宣言された変数のみ
たとえ長さ100のArrayを作ったところで
実際に空の箱が100個用意されるという仕様はない
ただlengthが100に設定された配列オブジェクトができるだけ
それぞれの要素に初期値などは設定されない
オブジェクトの未定義のプロパティにアクセスするとundefinedが帰るという仕様はある
ただしそれはundefinedが入っていることとはベつ 簡単なアプリを作ったんですがiphoneのみ画像やアイコンが表示されません
windowsやlinuxの色々なブラウザでは問題無しです
よくある原因は何になりますか? iPhoneのSafariはmanifest.jsonまだ対応してないの?(クソデカため息)
>>659
これ使え
https://github.com/GoogleChromeLabs/pwacompat 【環境】Firefox 89.0.2, Chrome 91.0.4472.114
【何をしたのか】具材の一部を選択した後、フォームをリセットする
【エラーメッセージ】なし(input.curryのindeterminateプロパティがtrueのままになる)
【期待する結果】全てのチェックボックスのcheckedプロパティとindeterminateプロパティがfalseになる
【サンプルコード】https://jsfiddle.net/rhyutmL8/ リセットボタンクリック時に関数実行してクリアすればよくね? >>660
遅くなりましたがありがとうございます! >> 661
formのresetイベントでindeterminateをfalseにすればええんちゃう 既出でしたらすみません。
slice()やcharAt()などの文字列メソッドの用途があまり想像できません…。
業務や趣味で使用したことある方いましたらどのように使用したのか教えていただけますでしょうか。 料金シミュレーションができるサイトで、
リストを選択すると金額がかわるものがあります。
ソースを見ると
<select name="item">
<option data-price="1000" value="1">商品名</option>
のような感じになっており、
選択するとJavascriptでdata-priceの値を取得して
金額を計算する形が多いのですが、
こういう仕組みってセキュリティ的に問題ないのでしょうか?
外部からの送信で金額が書き換わるとか・・・ >>670
安く買いたい人が金額を書き換えるとか、そういう問題起きないですかね?
フォームに金額を設定するタイプの仕様って危険な香りがして・・・ >>671
常識的には実際に登録する時にサーバはバリデートする
でないとクルーザー100円で買ったよ!なんて事になるから 自分が書き換えて、自分が見るだけなら、間違っても問題ない。
単に、その人の入力ミスだから
一方、サーバーのデータを書き換えて、大勢の人が見るなら、ヤバイ
サーバー側でもエラーチェックするけど、
例えば、千円を100円に間違ったため、多くの申し込みがあったとかは防げない
サーバー管理者にとって、100円がエラーとは分からないから よく起こるのは、通貨・株式取引で、1桁間違ったとか
こういうのは商取引でも、プロの取引に認定されているから、間違った人が悪い。
取引を錯誤などで、キャンセルできない。
取引が絶対に確定される
一方、一般消費者の取引では、錯誤でキャンセルできる。
一般消費者は取引のプロではないから >>671
フォームでsubmitされるのはvalue=“1”のほうであってdata-priceじゃない
確認画面では正しい金額で表示される
確認画面の金額もローカルで変更してから
OKボタンを押したところで支払う金額が変更後のものに変わるわけじゃない >>671
できるかどうかの前に
故意に書き換えて購入しようとしたら犯罪ちゃうの?という素朴な疑問 671です。実際に登録が完了する前にバリデーションしたら問題ない
ってのは分かった上で、表面上の金額が変わることに問題ないのか?
という疑問が起きました。
故意に変えたら犯罪ではありますが、
そういう仕様になっているのは設計する側のミスでもあるので。
とりあえず、「操作している人が金額を変えられたとしても
決済時に金額が代わらないなら問題ない」
という解釈をし、HTMLに金額を書いても問題ないと理解しておきます。 スーパーの値札なんて簡単に入替できるけど
店舗設計者のミスなの? カスタムデータ属性で何ができるのか調べればいいのに…
目の付け所が糞過ぎて凄い勉強効率悪そう HTMLに金額書かずにどうやって客に金額を提示するんだよw 書き換えられると困るので、このスーパーではレジのみにて金額の確認をさせていただいております
どうかよろしくご理解ください >>681
optionにはidだけ記載して、Ajaxで金額を称号して計算すると思ってました
でも、これならいちいちDBにアクセスするため、効率悪いですよね >>683
ajaxで金額を照合して計算したとしても
計算結果の金額をユーザーに提示する必要があるよね
それは何らかの形でHTMLに書かれるわけだから
data-priceに金額を書いてるのと同じで書き換えが可能 >>684
非同期通信のデータも書き換えることができるんですね
出来ないと思ってました。HTMLに書くわけではないですから。 もう何言ってるんだかって感じ・・・
とりあえずHTTPの基礎を学んで出直してくれ 非同期通信とかを知っていて、なんでそんな思考になるのか理解できない
どんな順番で学んだのかな? 逆です。「もし自分が知らなかったら大変なことになる」と思っての質問です。
完璧に全ての要件を理解しているわけではないので、
自分が知らないことでセキュリティリスクが発生してはいけないと思い、
イレギュラーな質問をした次第です。問題ないのならそれが一番です。 非同期通信のデータも書き換えることができるけど
そうじゃなくてサーバーから受け取ったデータを元にHTMLを更新しないとユーザーは金額見れないじゃん HTTP理解してない人間がWebアプリ開発に関わるというのが一番のリスク
Webアプリを開発するなら徳丸本レベルのセキュリティ知識は必須 CSRFトークンやらは流石にチームリーダーかベテランが設計して、レビューするのでは? CSRFトークンとかはフレームワークが用意してる仕組みを使えよ Ruby on Rails では最初から、
CSRF・Cross Site Request Forgeries 対策されている >>694
ルビ基地さん、マルチポストは禁止ですか? Web上で動く動画編集ソフトを作っていて、メモリの使用状況を知りたいのですが、
navigator.onmemorypressureがクソ使えません。
タブが落ちるまで発動しないことや、落ちる寸前で発動してどうしようもないときがしばしばあります。
今は代わりにWeakRefを使ってCGの粒度と頻度を監視してメモリの逼迫を予測しているのですが
いつまでも実装内部の微妙な振る舞いに頼った方法を使うわけにもいかないので
もっと良い解決方法はありませんでしょうか? 超初心者です。
今やっている教材で
if(!$('#text').val()){
といった条件式のif文が出てきたのですが
これはなにをもってtrueなのでしょうか……
textは文字を1行入力するinput要素につけられたidだと思います その要素のvalue属性がfalsyなら条件式がtrue
(!が否定なので)
文字列が空だったりしたらtrueになる まず、!$('#text').val()、これは、!( $('#text').val() ) と同じ。
.val() は、<input>の内容を取得するので、文字列型
!文字列型 は、文字列を否定した真偽値になる。
さらに、その真偽値を否定すると、!!文字列型。肯定に戻る
文字列の真偽値は、空文字列なら偽。
それ以外は真と判定される
だから下の出力は、文字列が存在すれば「あいう true false」、
空文字列なら「false true」
<label>入力文字列<input type="text" id="Text1" value="あいう" autofocus></label><br>
<button id="Button1">押して</button>
<p>出力 : </p><div id="output"></div>
$( "#Button1" ).click( function ( ) {
inputText = $( "#Text1" ).val( ) // 取得
console.log( inputText, !!inputText, !inputText )
$( "#output" ).text( `${ inputText } ${ !!inputText } ${ !inputText }` ); // 設定
} ) 下記のような処理を行いたいのですが、「httpresponseに反応し、関数を呼び出す」の実装方法がわかりません。何か方法はありませんでしょうか。初学者の質問で恐縮です。
ページを表示→入力フォームに文字列を入力後送信ボタンをクリック→関数が呼び出され、httpresponseを返す→httpresponseに反応し、関数を呼び出す jQuery on を使う。
よく知らないけど、素のJavaScript なら、addEventListener かな?
$('button').on('click', function(){
console.log('on');
});
Ajax 通信かな?
Promise, async/await とか
1. クライアント側から、サーバーへ送信する
2. サーバーで処理して、クライアントへ返信する
3. クライアントで受信して、処理する 昔は、Ajax に、jQuery を使っていたけど、
最近は、axios を使う
「ajax axios 違い」で検索して! 通信技術板なのかもしれないんだけど、サイト閲覧や掲示板利用でIMEIって抜かれる(抜ける)ものなのかな?
IMEIのチェックサイトでも自動取得ではなく入力しろとなっているから、特殊なアプリでもなければ無理だよな思うんだけど
JavaScriptでも端末情報の取得までがマックスだよね、ちょっと自信ないので教えてください
セキュリティ板でモバイル板行けと言われたんだけどモバイル板も板違いっぽくて、ここに辿り着きました ヘッダにつけて出して叩かれてたからdocomo以外は出さないと思ってたが、今はしらん
https://anond.hatelabo.jp/20111019232107
iphoneって付けるってホント? >>706
こんなのあったんだ、ありがとう
iPadのWiFi利用だからそこまでは分からないんだけど
ドコモのそれも勘弁してくれだなあw
こんな簡単に抜かれて偽装だのされたらかなわない >>705
「imei macアドレス 違い」で検索して
IMEI は知らないけど、
端末固有のMACアドレスなら、同一LAN 内で、端末を識別するために使うだけ。
LAN外のWAN・インターネットには、その情報を渡さない
もし外へも渡すのなら、それをユーザー自らが許可しないといけない UUIDが簡単に取れたのは昔々の話
iPhoneだとiOS6とかその時代 >>708-709
ありがとう、さらに調べてみました
やはり警戒したいのはIMEIなんだけどWEB経由では取得出来ず、
アプリなら技術的には取得可能ということのよう
もっともAppleもGoogleも基本的にはアプリでの取得も認めてない模様
現段階では、これで間違いないような気がする(素人判断) このような場合でccc関数でaaa()を呼ぶにはどうしたらいいんですか?
function main{
function aaa(){
}
function bbb(){
}
}
function ccc(){
//ここでaaa()を呼びたい
} 訂正:function mainではなくfunction main()です aaa を外出しにするか、main をインスタンスにしてaaaメソッドを呼ぶくらい
main内のスコープだよ内部変数と同じ ABEMAのサイトなんですが
その中で遷移する場合、普通に遷移するのではなく、
unloadせずにjsでいろいろして遷移しているように見えます。
(例えばhttps://abema.tv/now-on-air/news-plus から右のチャンネル一覧を出して別のチャンネルに移動する場合
Consoleにはリンク先URLに移動しました などのログがありませんがアドレスバーはちゃんとかわっています
戻るを右クリックして履歴を出してもちゃんと履歴はあります)
jsで読み込んでDOM操作すればページ自体は行けるのはわかるのですが
URLや履歴はなぜ遷移なしに変更できるかわかりません。
document.URLなどに移動先アドレスを代入すれば普通に遷移してしまうと思います。
これはどのようにして実現しているのでしょうか? chrome系の場合遷移したのにその前の履歴が残らないのはあまりよろしくないということで結構前のバージョンからreplaceStateでもpushStateと同じ動作なので注意 その理由はおかしくないか?
303とかと同じで戻られたらよろしくないこともあるでしょ サムネをクリックするとページ移動しないでその場で拡大画像を表示させるには
jqueryやライブラリ使わないで自力でjavascriptコード書くのは難しいですか?
そんなに手間かからないならjavascriptだとどう書けばいいんですか? absoluteなdivをオブジェクトとして作っておいて
imgにclickのaddEventListenerでdivオブジェクトの中のimgのsrcをclickもとのsrcから引っ張ってきて
bodyあたりにappendChildしたらいいんじゃないかな >>720
全然難しくない
そういう処理をしてるサイトでクリックイベントのコードを見れば解決 >>721
ajaxでデータ取ってくるイメージだと思うので
プログレスインジケーターとかもろもろの処理が普通は必要 例えば、jQuery のhover で、画像サイズを大きくするアニメなら、
<img src="a.jpg" id="img_01">
$( function ( ) {
$( "#img_01" ).hover ( function ( ) {
$( this ).stop( ).animate(
{ width: '600' }, 1000 );
}, ( function ( ) {
$( this ).stop( ).animate(
{ width: '300' }, 1000 );
} )
)
} ); 例えば、jQuery で、
ボタンをクリックすると、画像を追加する
<div id="div_1"></div>
<button id="btn_1">押して</button>
$( function ( ) {
$( '#btn_1' ).on( 'click', function( ) {
// 要素の下に、要素を追加する
$( "#div_1" ).after('<img src="b.jpg">');
} )
} ); >>725
サムネならワンチャン transform の scale でいけますか?
いけますんね… できなくはないだろうけどやる意味がない
サイズ云々じゃなくてクリック対象と拡大表示される画像はさすがに別のDOMじゃないとださい
画像自体はでかい画像のほうをcssで縮小してサムネにしておくとかなら同じオブジェクトのコピーでもいいけど Lazy Loadみたいにimgタグに属性として実寸画像データのアドレス入れておいて差し替えたらいいんじゃないの? Googleフォトに登録してAPIを使えばいい
サムネイルのサイズから拡大のエフェクトまで端末の種類に応じていい感じにしてくれる wakuの高さを取得したくてこれでやっても600にならずに1800と表示されてしまいます。
どうしてでしょうか?たぶんoverflowで隠れた画像の高さも含めてる?
どうすれば高さの600を取得できますか?
<style>
#waku{
width:90%;
height:600px;
overflow:hidden;
}
</style>
<div id="waku">
<ul>
<li><img src="test1.png"></li>
...
<li><img src="test5.png"></li>
</ul>
</div>
<スクリプト>
var element = document.getElementByID("waku");
var element_style = getComputedStyle(element);
var property_value = element_style.getPropertyValue("height");
property_value = parseInt(property_value);
alert(property_value);
</スクリプト> display:table-cellを消したらちゃんと取得できました element.onclick = func1;
func1(str){
alert(str);
}
この場合func1に引数を渡すにはどうすればいいんですか?
element.onclick = func1("aaa");ってやってもできなかった 部分適用
- 関数を返す関数に引数を渡す
- 返す関数は外側の関数の引数をキャプチャする(クロージャ)
function func1(str) {
return function(e) {
alert(str);
}
}
element.onclick = func1("aaa"); アロー関数使えばもう少し簡単に書ける
がCloudflareに弾かれたのでググってくれ ユーザーjsの使用用途で質問です。
webページで出てきたダイアログボックス(window.confirmで出力している様子)に対し
3秒後に自動で「OK」を押し(もしくはキーボードのEnter)てダイアログを閉じるにはどのように書いたら良いでしょうか・・?
使用環境
Chromeの拡張プラグインで「Tampermonkey」というユーザーjsのプラグインで使用
宜しくお願いします。 すいません用途や環境はあまり考えなくて大丈夫です。
普通にjsでダイアログを閉じる記述を教えてください。。 comfirmやalertをスクリプトで閉じることはできないです >>741
なるほど・・そうだったのですね
ありがとうございます ユーザー操作が必要なのか
Selenium Webdriver で、ブラウザを自動操作すれば出来るのかな? jQuery のモーダルダイアログでは、
fadeIn( )で表示して、fadeOut( ) で非表示にするとか、
remove( ) で、モーダル要素を削除する
単に、jQueryで書いてるだけ comfirmのダイアログにidが無い場合、
SeleniumでもjQueryでもcomfirmのダイアログを指定するには何オブジェクトなのでしょうか・・?
windowでイケます・・? id, class, タグ名などを組み合わせて、特定できないの? >>752
無理のようですね。ダイアログが表示されている時はF12でソースすら確認出来ない状態ですし
confirmするのにidもclassもHTMLも不要ですし、、 <ul id="img_set" style="display:flex">
<li><img src="test1.png"></li>
.
.
<li><img src="test5.png"></li>
</ul>
このような横並びの画像があったとしてその幅を取得したいけど
chromeだとgetpropertyでulのwidthを取得できたけどIE11だと
ちゃんとした幅が取得できませんでした。
どうすればIEでもちゃんとした幅が取得できますか? >>755
釣りじゃないよ
chromeとedgeはwidth2000だったけど
IEだと1000くらいだった さすがにもうIEをフォローするのは止めちゃってもいいんじゃないかな ???「社のえらい人がIE使いなので対応してください」
???「官公庁です。根幹システムがIEのみなので従ってください」
これが日本 var img_url_list = ["./aaa.png","./bbb.png","./ccc.png"];
var img_kosuu = img_url_list.length;
var img_obj_list = [];
for(var n=1;n<=img_kosuu;n++){
img_obj_list[n-1] = new Image();
img_obj_list[n-1].src = img_url_list[n-1];
}
var img_load_count = 0;
for(var n=1;n<=img_kosuu;n++){
img_obj_list[n-1].onload = function(){
img_load_count++;
}
}
var msg = img_load_count + "個の画像を読み込みました。";
alert(msg);
ちゃんと3個の画像を読み込んでも「0個の画像を読み込みました」って表示されてしまいます。
img_load_countはちゃんとカウントされているはずだけどどうしてですか?
どうすれば読み込んだ画像の数を表示できますか? 一つ目のループの最後にappendChildを入れてみるとか
document.body.appendChild(iimg_obj_list[n-1]); >>761
どのタイミングでload eventが発生するのか考えたら? >>761
読込完了前にalert出してるから0個で正解
雑に対応するなら時間差を付ける
setTimeout(function(){
var msg = img_load_count + "個の画像を読み込みました。";
alert(msg);
},3000); >>761
最後のalertを全ての画像を読み終わったときにしたいなら
onloadの関数内でlengthとcountを見て最後だったらalert出す
にしたらいいんじゃないかな 今djangoメインでウェブアプリを作ってるんですが、どこまでの計算処理をjavascriptに任せてどこからをバックエンドのpythonで処理すべきかよくわかりません。
できる限りブラウザ側に計算処理させた方がいいと思うので出来る限りjavascripjで処理するようにするという基本思想で間違ってないでしょうか?
ほんとにバックエンドサーバー側で必要な処理だけをpythonで書くというのであってますか? Ruby on Rails の基本は、HTML をサーバーで作って返す。
JSON を返す、API モードもある。
さらに最近は、GraphQL もある
個人の起業用には、Rails, Bootstrap を使う。
または、それにReact も加える
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
さらに、Vue.js, TypeScript も加える。
これは大企業用 >>768
採用してるアーキテクチャとメンテナンス性やUXを考慮した役割分担方針によるので
一概にできるだけブラウザ側で処理したほうがいいというわけでもない
APIサーバーじゃなくDjangoのテンプレートエンジンつかってViewを返してるんなら
明らかにUXが向上する箇所だけクライアント側で処理するという方針も十分ありえる >>768
お節介だとは思うけど数字を誤魔化されるとマズいアプリだと計算はサーバ側で必要な処理になるからね>ゲームとかショップとかバリデートしなきゃならない
一言で「必要な処理」と言ってもアプリそれぞれだから注意しといてね webに関してなんですが
greasemonkeyで本来宣言されていない変数名を定義すると
web管理側が対策をしようとすればわかっちゃうものなんでしょうか
var test;
ほにゃらら処理行
test = undefined;
としておけばわからないのでしょうか
Firefoxのコンソールで見ると宣言前に
test で ReferenceError: test is not defined と表示され
test = undefined;後にtest を入力すると undefined と表示されます。
未宣言か未定義かの違いだと思うんですが
これの区別ってjsでできますか?
また使った変数を未宣言の状態に戻すことは可能でしょうか? 基本見えないし自分が管理者ならそんな無駄な努力はしない
あと余所に見せたくないなら基本let,constで宣言すべき グリモンは全体を無名関数でくるめばサイト側から見えなくなるという話はどうなんでしょうか ありがとうございます
とあるサイトに
if(typeof(emergecy_xxx_brake_flg) !== undefined && emergecy_xxx_brake_flg == true){ ぬけあな }
みたいなコードを見つけかつ
emergecy_xxx_brake_flg をみると未定義でしたので
greasemonkeyでぬけあなを見つからないように使おうかなと思った次第です
あとでundefinedを入れておけば見つからないようですね ユーザースクリプトは無名関数で囲む書き方が一般的だけど
しなくても主要なユーザースクリプト拡張は
ページ側の変数や関数名とバッティングさせない、GM API等のために関数でラップされて注入されてるのでページ側のスクリプトからは見えない ということはemergecy_xxx_brake_flgをgreasemonkeyで定義しても元のscriptからは見えないし
ぬけあなを利用できないってことか
ありがとうございます ゲームのデバッグ用フラグっぽい雰囲気だけど
オンラインゲームなら変数定義云々関係なくチート行為はいずれバレるぞ 広義のチートかもしれませんがフラグが立ってると
google IMA の動画広告を見ないで特定のページに行けるようになります
(postでパラメータを渡していてURLは同じなのでURL入力では飛べない。そのフラグでもIMAのあとのルーチンでも読んでる関数は同じ。) 本来宣言されてない変数名が存在するかどうかなんてチェックしないよ
チート対策はもっと違うアプローチでやる
ユーザー数の少ないゲームだとチート対策にかけられる予算も少ないから
よほどナイーブなやり方じゃなければ検出されない それはアクセス解析で簡単に検出されるパターンな気がするな
まあYoutubeでも広告見ないでコンテンツだけ見るのも普通にできるから
検出されても対処されるかどうかは運営次第 広告見ないでコンテンツだけ見る方法のがむしろ知りたいw ublock Originみたいなアドブロッカー使う
詳細はググってくれ ES2015 以降は、var は使わない。
var は、バグるだけ
let, const の時代
Webpack, Babel。
Ruby on Rails でも、そう <input type="text" id="aaa" onkeyDown="test()">
function test(){
var str = document.getElementById("aaa").value;
alert(str);
}
このようにやって
入力した文字列を表示したいんだけど1つ前に入力した文字列が表示されてしまいます
どうすれば入力した文字を表示できますか? jQueryの質問です。
各タグ内から数字テキストのみを抜き出して、それらを数値として合算(足し算)し、
その合計値をテキストで出力したいのですが、どのように書いたら良いでしょうか?
<div>hoge1</div>
<div>hoge2</div>
<div>hoge3</div>
→「6」と出力したいです。
宜しくお願いします(>_<) vanillaで
Array.from(document.querySelectorAll('div'))
.map(x=>Number(x.innerText.match(/[0-9]+/)))
.reduce((acc, curr)=>acc+curr); >>789
ありがとうございます!
でも
初心者すぎて結果の確認方法がわかりません・・・
cosole.log();やテキストなどでどうやって確認したらよいのでしょうか。。。 すいません、変数宣言したらconsole.logで確認できました
>>789
ありがとうございます_(._.)_
jQueryでもわかる方いらっしゃると助かります。。
試したこと
.map() →文字列扱いされてしまい合計できない。 横からだけど勉強になります。
>>791
jQueryはしらないけどFirefoxで単純なサイトを開いてコンソールにそれを入れれば
いけましたね >>791
配列とjQueryオブジェクトのmapは全く別物
let sum = 0;
$("div").each(function() { sum += Number($(this).text().match(/[0-9]+/)) }); >>793
ありがとうございます!
ただ、やはり結果の出力方法がわからないのですが、、
let sum = 0;
const total = $("div").each(function() { sum += Number($(this).text().match(/[0-9]+/)) });
console.log(total);
で
k.fn.init(3) [div, div, div, prevObject: k.fn.init(1)]
となってしまうのですが「6」と出力するためにはどのようにしたらよいのでしょうか・・初心者質問ですみません totalはどこから出て来たんだよ
sumを出力しろ >>795
ぬお!できました。 お恥ずかしい。。
ありがとうございます!!!! 割って掛ける除乗算演算子と
掛けて割る乗除算演算子もあるぞ
a = 4 /* 2;
a = 4 */ 2;
console.log(a);
//=> 4 Ruby など、たいていの言語に、複合代入演算子がある ここでの質問なのかわからないですが
アナリティクスなどで、訪問者のiPhoneのバージョンがわかるようにしたり、集計ってできますか?
例えばiPhone12が○○アクセス、全体シェア○○%のように >>802
GAならこっちで聞いた方がいいよ
【アクセス解析】Google Analytics 8 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/hp/1485660054/ const $el = document.getElementById('hoge');
let func = () => {
console.log($el);
}
setInterval('func()',1000);
としたところ、$elはnullになってしまいます。
let func = () => {
const $el = document.getElementById('hoge');
console.log($el);
}
setInterval('func()',1000);
とすれば$elには値が入りますが、setIntervalを実行する度にconstをセットするのが
どうもスマートでないように思います
JSの作法的に正しくて、スマートに書こうと思ったら
どう改善したら良いでしょうか? >>804
setIntervalの気持ち悪い書き方を直すだけ
setInterval(func,1000); スマートな書き方を聞くやつはスマートじゃないの法則 Firefox のコンソールで 0/-2 など 0を-xで割ると -0と出るのですが
プログラミングでは一般的なのでしょうか
0と出てきて欲しいんですが >>809
>プログラミングでは一般的なのでしょうか
そこそこ一般的 ありがとうございます。
よく考えれば今回は-0でも問題ありませんでしたのでそのまま処理しました。 https://developer.mozilla.org/ja/docs/Web/JavaScript
完全な初心者向け
JavaScript ガイド
中級者向け
上級者向け
リファレンス
ツールとリソース <style>
#test{
filter:sepia(50%);
}
</style>
<ul id="test">
<li><img src="./img1.png"></li>
<li><img src="./img2.png"></li>
</ul>
<input type="button" value="クリック" オンクリック="aaa()">
<スクリプト>
function aaa(){
var elm_list = document.querySelectorAll("#test li");
elm.list[1].style.filter = "sepia(0%)";
elm_list[1].style.border="Solid 3px #0000ff";
}
</スクリプト>
セピアを0にして画像を元の色にしたいんだけど色が変わりません
borderの方は線が表示されたのでセレクタは正しいと思うけど
どうしてでしょうか?どうすれば元の色にできますか? ulに対してsepia(50%)設定してるのにliを0%にしたところで変わらんよ
見た目は子孫に影響するけど、プロパティ値は継承しないのでdisplayやopacityなんかと一緒で親の効果を上書きできるわけではないよ
#test li {
filter: sepia(50%);
} 特定の要素から特定のイベントのイベントリスナーを削除することは可能でしょうか?
関数への参照を保持していない状態です。
具体的にはwindow.addEventListener("storage",function(){〜})の形で登録されているようなものです。
ピンポイントで上記だけ削除するのが難しいようであれば、window要素に紐づくstorageイベント全てを一括削除という形でも問題ないです。 chromeはできるかわからないけど
firefoxならublock originで
yahoo.co.jp##+js(aeld, storage,/functionの中身を正規表現で/)
でいけそうだけど >>820
要素のイベントを全て削除
elm.replaceWith(elm.cloneNode(true))
windowはアキラメロン イベント登録前に割り込めるならEventTarget.prototype.addEventListenerあたりをフックするとか addEventListenerをフックするのが一番現実的なんですかね?
しかし、要素に紐づくイベントリスナーや、管理している全てのイベントリスナーを出力するみたいな関数は存在しないんですね……
ありそうなものだけど、というか無いならどこでどうやって管理してるんだろう…… >>825
自分で書く部分ならもちろんそうするんですが、Chromeの拡張で特定のページの邪魔な動作をシャットアウトしたいんですよね。 X軸方向のスクロールを常に禁止にし、常にスクロールをゼロの位置にする事って可能でしょうか?
cssでスクロールバーを出さない方法はありますが、要素が自由に動いてしまうのでスクロールしてしまう事が多々あります >>822 に一票
クローンして差し替えることによりelmとその子孫のイベントリスナーが消え、その他の属性は残る >>826
キャプチャリングフェーズでstopPropagation #test li{
background:#0000ff;
}
#test li:hover{
background:#00ff00;
}
というcssがある場合hoverのbackgroundを取得したいんだけど
querySelectorAll("#test li:hover")とやっても取得できませんでした。
どうやればいいんですか? :hoverはquerySelectorAllで取得できません
ちなみにgetComputedStyle(element, ":hover")もできない どうやったらできるかを考えるのが、
あなたたちの仕事です hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
いまカーソルがのってるかを見たいなら
mouseoverイベントか対象にtransition入れておいてtransitionのイベントを見ればいいんじゃないかな >>832
<ul id="test">
<li>aaa</li>
<li>bbb</li>
</ul>
var element_list = document.querySelectorAll("#test li:hover");
var st = getComputedStyle(element_list[0]);
var val = st.getPropertyValue("background");
alert(val);
こうやっても取得できなかった
他に方法はないんですかね >>837
document.styleSheets クエリーセレクターにホバーは入れられないって言ってるだろ >>835
それは
var element = document.getElementById("test");
element.styleということですか? jQuery には、hover 時のイベントがあるけど >>841
>>835は意味不明
style要素といってるから、まずはstyle要素でスタイルを定義するところからなんじゃない? >>844
style要素だよな?
link要素で外部CSS定義していたら、style要素に書き換える必要がある
何のためにそんなことする?
内容からCSS記述をパースさせるのか? >>845
element.onmouseover = function(){
element.style.background = cssのhoverから取得したbackground;
}
というふうにしたかった >>846
それは「styleプロパティ」という
>>835は「styleエレメント」といっていたから意味不明だった
そして、styleプロパティでは>>831定義のCSSを取得出来ない >>Array.from(document.styleSheets).map(e=>Array.from(e.rules).map(e=>e.cssText).join()).join().includes(":hover")
←true F12 開発者ツールのコンソールで、実行した
style_sheets = document.styleSheets
css_rules = style_sheets[0].rules
css_rules[1].cssText
出力
'#test li:hover { background: rgb(0, 255, 0); }' そりゃdocument.styleSheetsで取得出来ないとは誰もいってないし 見苦しい言い訳は不要
負けを認めるか、潔く退場するかの2択 スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります リスクも回避方法もない
過去には問い合わせで許可を得た上で図書館のサーバーにスクレイピングをした人が捕まってる >>851
#test1 li:hover,#test2 li:hover{
background:#0000ff;
}
というような書き方の場合test1 li:hoverを取得できないやろ >>854
俺は>>838と>>843,845,847だが、何も間違ったことはいってないつもり
どの辺が言い訳なのか教えてくれ 俺からすると>>844,846が言い訳
「styleエレメントを見ればいい」に突っ込み入れてるのに、頓珍漢な返答で困った 結局言い回しに数レスかけて難癖付けたってだけの話ね 結局、正答は>>838と>>848だけ
他の回答はノイズでしかないでしょ >>860
言い回しだけでなく、ミスリードだと思うんだが、お前に分かるなら教えてくれ
>>835
> hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
「styleエレメント」の言い回しを修正したとして、hoverのプロパティをどうやって取得するんだ? >>855
5ch は、マルチポスト禁止!
同じ質問を、複数のスレや外部のサイトに書いてはいけない
プログラム板のスレに回答しておいた
【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/867 >>862
また言い回しだね
プロパティ(の内容)ってなんで補完できないかな >>864
いやだから、それでどうやって実装する? 言い回しが悪ければ実装手段も示せない>>835の負けだな
言い訳が見苦しい 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか? >>871
>>835と何の関係もないコードを出されましても 横からだが、>>835が>>848になるとは俺も読めんわ
どう解釈したらこのコードになるのかさっぱりわからん 分かるが、こんな難解コード書くならループ書くわ
スタイルシートを回って、ルール回って、全部をテキストとして結合して、:hover が含まれてるか判定 翻訳してみた
hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
↓
:hover疑似クラスを見たければ、document.styleSheetsを見ればいいんじゃないかな
間違ってる部分は他の正しそうな単語に置換していけば、いずれは正解に辿り着く
質問者は変換作業を頑張れ styleエレメントをdocument.styleSheetsと読みかえるところがエスパー力高いな それって CSSの優先順位や詳細度に継承おまけにimportantやなんか考慮するととてつもなくややこしくなるんじゃ >>878
コードから文章を読み取るのは出来そうだが、コードがない状態で文章からコードを作るのはまず無理だろうな >>878
hoverのプロパティ自体とあるから中身をa.style以外からとろうとすれば
document.styleSheets[x]ぐらいしかとるとこなさそうだけど >>881
正解を知ってる俺達が文章を改竄するのは難しくない
だが、もしも俺が正解を知らない質問者なら、document.styleSheetsには辿りつけない a.style以外からとるんだなとわかればぐぐればすぐわかるわな みんなすげーな
エスパー力5の俺にはJavaScriptは無理だと思った 質問者はstyleの定義まで知ってるのだから
たどりつけないことはないと思うけどなあ 0からググるのと
なにか入ってからググるのでは大違いだからな >>820なんですが、>>830の方法が今回やりたいことに一番適合してていい感じに止めたい処理止めれました
回答頂けた方々ありがとうございます 有名企業などのサイトのsourceを見てみると、大概見た事ない独自の?jsファイルが山盛りなんですけど、
あれってどういう事ですか?three.jsだとかそういうの直接使わないで組み替えたりするんですか?
あとなんであんなに山盛りscriptがあるのか、、読んでも全く勉強にならないしどう勉強したらいいかもわあからない、、 >>892
そういうのを自分で調べないから
いつまでたっても理解できないんだよ 一個一個ublockでブロックしていったら何をしているかわかるんじゃないの? >>822
横からですが、子要素のイベントが残ってたら便利そうと思って試してみたらら
全部外されてしまいましたw
自作関数なら参照リレー渡しが無難ですね 数学座標を画面座標に変換する関数はありますか?
あれば何を使えばいいんですか?
画面座標は左上が(0.0)で下方向に行くとがy座標が増加
数学座標は中心が(0,0)で下に行くとy座標がマイナスなので
これを画面座標に変換しないとちゃんと表示できないので
-単項演算子を(0 - x)と考えるか(-1 * x)と考えるか <div style="width:80%;height:500px;background:blue"></div>の
長方形の中心座標はどうやって求めればいいんですか?
長方形の左上を原点(0,0)とする。y座標は500/2=250ってすぐに出るけど
x座標が固定値じゃないのでわからん。 fixedで固定表示している要素を、一定量スクロールするとabsoluteにして、
JSでtopの座標を指定して、浮いている状態が解除されたように見せています。
この機能がAndroidのchromeだと、上スクロール時にだけ表示されるアドレスバーと
ツールバーによって、fixedからabsoluteに変わるスクロール量がずれてしまうようで、
意図しないタイミングで切り替わっています。
どうにか改善する方法はありませんでしょうか? javascriptからNode.jsで立てたサーバ内のsqliteファイルを操作する方法を知りたいです
検索するとNode.jsでしか使えないコマンドを使ったものしか見つかりません >>906
そうなのですが、サンプルコードに載ってるrequestがエラーを出力します
Node.jsだけで使える関数があるようで、単にjsファイルとして呼び出すだけではエラーを返されます node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
サーバー側でデータベースを操作するためのwebインターフェースを作ってそれにあわせてfetchやwebsoketで対話
node以外のサーバーでのやり方と何も変わらない なんかすごいね
よくサーバー立てられたなと感心する んなこと言ったら世の中に失敗作じゃないものなんてほとんど無い。 >>908
> node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
そういう意味じゃなくて、「javascript(Node.js)からNode.jsで立てたサーバ内のsqliteファイルを操作する方法」は既に出来てる、と伝えたかった
JavaScriptの実行環境が本人の口から出てこないので結局、伝わらなかったが そもそも「Node.jsで立てたサーバ内のsqliteファイル」があり得ないよな
「Node.jsでサーバ(ソフト)を立てたサーバ(ハード。物理か論理か知らんが)内のsqliteファイル」という意味かな 複数のNodeListを一つのNodeListとして変数に入れることは可能でしょうか?
Array.fromでArrayにしてからつなぐのが無難なんでしょうか >>911
nodeの開発者が失敗作と認めてるんだ どっちかというとdenoの方が失敗しそうだけどな。 >>915
NodeListには自身の編集用メソッドがない
1つにまとめて何をしたいのかによるが、DOM APIを使うならDocumentFragmentにしておけば、大体は対応できる ありがとうございます
DocumentFragment勉強してきます >>892
例えば、Ruby on Rails では、Node.js, Webpack, Babel, Bootstrap などを使っているから、
プロジェクトを作るだけで、node_modules 以下に、数千ものJavaScript のモジュールが入る。
React, Vue.js を使えば、さらにそれ用のモジュールも入る
>>905
例えば、Ruby on Rails では、プロジェクトを作って、モデル(テーブル)を定義すれば、
3大データベース、sqlite, mysql, postgresql でアクセスできる
さらに、scaffold という魔法の呪文を唱えれば、最初から、CRUD 操作もできる
だから最初から、Railsのようなフレームワークを使えばよい。
サーバー側は、Rails一択。それ以外は使われていない。
Node.js も分かりにくいだけ
詳しくは、YouTube で有名な、雑食系エンジニア・KENTA のサロンで聞いて下さい playerHeight = $("#player").height()!;
const top = position!.top;
とあるサイトに 上記のような コードがあり "!" の意味が分かりません。
これってjqueryなどの特定ライブラリの書き方なのでしょうか
参考になるサイトがあれば教えていただきたいです。 きっとそこで何かビックリすることがあったんじゃないかな TS は、Type Script
TypeScriptの変数の末尾の"!"(エクスクラメーション/感嘆符)の意味
https://qiita.com/zigenin/items/364264a6cf635b962542
この"!"の呼び方は、Non-null assertion operator
プログラマがコンパイラに対して、
この変数はundefinedやnullになることはありません、と教える記述
let a = f( ); // 戻り値の型は、string | undefined とする
return a! ;
ここで、f からの戻り値が、undefined, null ではないと、
プログラマーが絶対の確信が持てるのなら、
無理矢理、a! として、undefined, null になる可能性を除去して、
string型だけであると、コンパイラに教えることができる
このように、コンパイラを欺いたら、後で大きなしっぺ返しを食らうかも valueは値みたいなイメージで使うことが多いと思うのですが、valueの変わりにelementとしてる人を見かけます。
これってどう違うのでしょうか 問答無用にElementのインスタンスだろうそれは、と
自分はvalueは数値くらいにしか使ってないな
文字列はxxStrとか、日付はxxDtとか >>930
さすがに書いた人に聞いてくれ、としか
>>923といい、エスパー案件ばかりなんだが、なぜ証拠となるコードも出さずに当てずっぽうの回答をさせるんだ? https://test.wikinist.info/?page_id=51
フィルタ作ってます。
MemとWomenにチェックが入ってる時はその中からフィルタしたいと思ってるんですがどうしたらいいでしょうか?
現状はチェックした奴が全て表示されます。 >>933
複数条件でフィルタリングすると該当なしってのもあり得るけど
その場合どうなる仕様なの?何も表示なし? >>934
Menにチェックが入っていてWomenの値が入ってる人をチェックした場合は表示なしって感じにしたいです
最初はリターンをこんな感じで書いてましたが何も表示されませんでした。
return filterArr.find(element => ((element.el === item.values().name) || (element.el === item.values().city)) && (element.el === item.values().sex)); 雰囲気的にmen womenが両方チェックありと両方チェックなしの場合は同じ扱い?
実現したい仕様があやふやでよく分からんのだが >>933でコードが出たが、今度は要求仕様がエスパー案件になったな men womeonの両方がチェックと両方チェックなしは同じ扱いということにしたいと思ってます。 小手先でどうにかならないか考えたけど結局汚くなった
sexだけ扱い違うのにname,cityと一律並べてる時点で無理があるぞ
https://jsfiddle.net/5zeorj9u/ >>929
ありがとうございます。
わかりました。 >>939
ありがとうございます。
最後の部分で何と何を&&で評価しているのかあまり理解できないのでconsole logで確認したいと思ってますが
1行のアロー演算子使ってる場合ってどうやって間にconsole logをいれたらいいのでしょうか? >>941
カンマ演算子で実現可能だけど無理やり1行にする意味は無い https://jsfiddle.net/raion2542/q10vxbde/14/
https://jsfiddle.net/raion2542/eoLtsd5b/8/
1つ目はlist.js 2つ目はTabulator.jsを使っています。
この2つを共存させることはできますでしょうか?
「〜でソート」を押してソートできるかどうかです
2つ目の方のJSの一番下に
const options = {
valueNames: ['name','corporation','callsign','frequency','power'],
};
const featureList = new List('sample-list', options);
を書き込みましたがうまくいきませんでした 昔Ajaxというのが流行ったと思うのですが今も使われているんでしょうか?
あまり聞かない気がするのですが死語で名前が変わったりしました? >>945
今も使ってるとこでは使ってるけど、Fetch APIも結構こなれてきた jQueryのAPIに名前が残ってるけど
今の時代JSが通信するなんて当たり前なので一々ajaxとは呼ばない >>946-947
説明ありがとうございます。今はFetch API?というのを使うのですか?
授業でこれを使えと言われたのですが今もこのコード使っても問題ないでしょうか?
// ===== Ajaxのお約束オブジェクト作成================================
// [入力]
// ・なし
// [出力]
// ・成功時: XmlHttpRequestオブジェクト
// ・失敗時: false
function createXMLHttpRequest(){
if(window.XMLHttpRequest){return new XMLHttpRequest()}
if(window.ActiveXObject){
try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}
try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}
}
return false;
}
:
:
xhr = createXMLHttpRequest();
if (xhr) {
sUrl_to_get = sUrl_ajax;
sUrl_to_get += '?zipcode='+sZipcode;
sUrl_to_get += '&dummy='+parseInt((new Date)/1); //(*1)ブラウザcache対策
xhr.open('GET', sUrl_to_get, true);
xhr.onreadystatechange = function(){zip2addr_callback(xhr, sAjax_type)};
xhr.send(null);
} // *1: GETメソッド時はURL文字列に、POSTメソッド時はsendの文字列につける この本、2019 年8 月12 日初版発行らしいです。 FetchではなくXMLHttpRequest使うにしても
もうIE6以下用のActiveX用の部分はいらんでしょ xhrにActiveX…
IE亡き令和の世では仕事にも個人サイトにも使えないと思うがお勉強にはなる…のかな? >>950-951
ソースコードはこれですねー
https://github.com/ShellShoccar-jpn/zip2addr/blob/master/public_html/zip2addr.js
この本に書かれていますー
初めてのPOSIX原理主義 超進化を遂げたシェルスクリプトを学ぶ15回の講義
https://richlab.org/coterie/lpf.html
金沢大学の講義「シェルスクリプト言語論」で教えてる内容ですー
JavaScriptライブラリを使うと、ブラウザの独自機能を使っている恐れがあって
将来動かなくなる恐れがあるから、jQueryもReactも使うな。自分でかけ。
たった数十行のコードで書けるって
こういうコードを書けと学生に教えてるんですー
他にもgitを使うな、ファイルコピーで管理しろとか教えてますー ゴミクソ教師だな
絶対に就職できないわ
ActiveXってIEサポート終了が来月なのに何考えてるんだ
サポート終了も何もオープンソースなんだから世界中でサポートしてるようなものだろ
地球から出ていくなら全部自前でいいだろうがそんな考え方で独自路線で育った学生が就職できるのかね >>953
ゴミクソ教師? USPというユニケージというシェルスクリプトで
業務システムを開発しろっていう方法論を広めている会社の社員ですよ?
どんな人か?こんな人です。
「口やかましい少数派」に翻弄されるQiitaサポートは無能である
https://qiita.com/richmikan@github/items/8831c97598cc095e2b95
品位が問われるAdvent Calendar ― シェルスクリプトはどこでも動く!
https://qiita.com/richmikan@github/items/5f53a14a79874d56a2ff
あ、Twitterとか見ないようにねw >>955
あんたが学生なのかと思った
リンクが気持ち悪いからほぼ読まなかったがお前にとって何が重要なのかを考えたほうがいい >>948
わかってて質問してんだろ
お前の遊びに俺らを巻き込むな >>948
ActiveXObject, xhr.onreadystatechange とか使わない
Ajax は、jQuery か、
今は、axios が多い ただのUSP製品の宣伝をしてるだけの授業
https://richlab.org/j/2v62
・usp Tukubai(通称Tukubai)コマンド
・シェルスクリプトによるシステム開発を補完・強化するために作られた独自UNIXコマンド
・シェルスクリプトを、単なるサーバー管理言語から、アプリケーション開発言語へと進化させる。
・データ整理が特に得意で、RDBを過去のものにする処理速度を誇る。(参照→ 「スピードがすべてを駆逐する」)
・一部は、無償版(Open usp Tukubai)も公開されている
usp Tukubaiなんか世界中で「使われていません」
RDBよりも「圧倒的に遅く」「クラウドで使えません」
SQLは広く使われており、どこでも使えます 自己矛盾する授業内容
https://richlab.org/j/2d62
・一人(一社)が所有・支配しているものは
標準語ではない。
・その人の意向で、使い方のルールが
変わってしまう恐れがある。
⇒話者(ユーザー)が翻弄される
・いざという時の代替品がない。
⇒サポート終了や欠陥発覚で、話者(ユーザー)の
逃げ道がなくなる。
↑それはUSP研究所が独自で開発している
プロプライエタリなコマンドのことです!
SQLといった標準規格が存在するものは「標準語」です
オープンソースは移植性が高く実際にどこでも動いている POSIX原理主義者「POSIXではsleepでミリ秒の指定ができない?
だから私が作った。https://qiita.com/richmikan@github/items/65a55a405874e655fbac
すごいだろう?ないものは作ればいい!」
いやでもGNUもBSDでもsleepコマンドはミリ秒の指定できますよね?
POSIX原理主義者「それはPOSIXじゃない!使ってはならない。
だから私は自分で作った!それを使え」
GNUやBSDのsleepコマンドを使いますよw POSIX原理主義者「UNIX哲学にはどうしてもC言語じゃなきゃダメな局面がなければすべきではないと書いてある」
書いてませんよ?
POSIX原理主義者「すべてのPOSIXコマンドは、どうしてもC言語じゃなければ行けないから、C言語で書いてある!」
basename、dirname、cut、true、false、head、tail、nl、あたりは
シェルスクリプトで簡単にかけますよ
POSIX原理主義者の理論はぜ〜んぶ適当
居酒屋のおっさんの自分語りレベル POSIX原理主義者「yesコマンドは素晴らしいコマンドだ。その本当に意義を理解できるのはUNIX哲学を理解してる我々のみ!」
うん、でもyesコマンドってPOSIXコマンドじゃないですよね?
POSIX原理主義者「え?」
え?じゃなくてyesコマンドは、あんたの理論では使ってはダメなの
POSIX原理主義者「C、C言語で書けば、」
yesコマンドは使えないコマンドだからPOSIXコマンドじゃないの
POSIX原理主義者「yesコマンドはこのような使い方が、」
それはあんたが適当に思いついただけの変な使い方。本来の用途じゃないの。移植性もないの
POSIX原理主義者「自分で再発明することの素晴ら」
あんたが作ったものは使えないし、あんたが作ったものよりGNUやBSDの信頼性があるものを使う POSIX原理主義者「POSIXコマンドだけを使っていれば10年後もそのまま動く!どこでも動く!POSIXコマンドが改定されることはない!」
でもtarコマンド削除されましたよね?
POSIX原理主義者「POSIXコマンドはcompressだ!compressを使え!」
でもLinuxにインストールされてないんですが?
POSIX原理主義者「Linuxは完全にPOSIXに準拠してない!POSIXに準拠している環境ならどこでも動く!」
そのPOSIXに準拠している環境ってなんですか?
POSIX原理主義者「商用UNIXとmacOSだ!(どやぁ)」
じゃあ、どこでも動くんじゃなくてPOSIXに準拠してる商用UNIXとmacOSだけで動く
LinuxはPOSIXに準拠してないから動かないって言わなきゃね POSIX原理主義者「LinuxもだいたいPOSIXに準拠してるからだいたい動く。動かないものを避ければだいたい動くはずだ」
すっげー適当
理論のレベルじゃない
ただの思いつきで言ってるだけ SQLと同じことをするためにTukubaiという独自開発した
ライブラリに依存してくださいというのはおかしい
Tukubaiはプロプラライセンスで提供されているから会社が潰れたら共倒れじゃん
オープンソースのもあるけどPythonで作られてるからPythonがバージョンアップしたら終わりじゃん
他人が作ったライブラリに依存するのはダメだけど自分の会社が作ったライブラリ
に依存するのはOKという態度はダブルスタンダードだと思うんだよね >>955
軽く見た感想
@richmikan@githubは利己主義の塊のような人だなと
コメントを削除されたのは自業自得な感じ 質問です
const A = ["みかん","いちご","トマト","レモン"];
let test = false;
for(let i=0; i<A.length; i++){
if(A[i] == "キャベツ"){
test = true;
break;
}
}
if(!test){
alert("キャベツはありませんでした");
}
というスクリプト作ってますが、配列に自分の探したい要素が無かった時実行するというスクリプトって他に良いやり方ありますか? includesない時代はfindIndex使って戻り値を<0で比較してたっけ このスレ、回答来てない奴のなりすましが多いんだが、承認欲求強い奴が多いのかね × 回答来てない奴のなりすまし
○ 回答してない奴のなりすまし 度々すみません、再び質問ですが
質問です
const A = [{name:"みかん"},"{name:いちご"},{name:"トマト"},{name:"レモン"}];
let test = false;
for(let i=0; i<A.length; i++){
if(A[i].name == "キャベツ"){
test = true;
break;
}
}
if(!test){
alert("キャベツはありませんでした");
}
とこの場合はindexOfやincludes使えませんよね?
他にも便利なメソッドが存在したりするのでしょうか? A.find( ({ name }) => name === 'キャベツ' )
はどうよ >>978
上手くいきました!
これが最適ですね! なるほどfindは発見したオブジェクトを返してsomeはtrue falseで返してくれるんですね
もしかするとindexOfみたいに発見したらindexを、無かったら-1を返すようなものもあります? >>982
>>985の通りだが、ここまで来たら追加質問は、Array.prototypeのメソッドを自分で探してくれ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
console.dir(Array.prototype)でメソッド名を見て一つずつぐぐるとか、方法はあるだろ >>986
古い考えやなー
わからないことは自分で調べるより知ってる人に聞いたほうが何倍もはやいやろ chromeのデベロッパーツールのSourcesからimgフォルダの中の画像全部保存したいのだけど一括で保存できる方法ないでしょうか?
一つ一つはできるのですが数が多いので一括でやりたいです。 >>990
html質問スレに回答した
こっちにマルチしてるんならjsだからこっちに回答すべきだったな… >>991
古い考えやなー
わからないことはマルチポストしたほうが何倍もはやいやろ return filterArr.find(element => (element === item.values));
elementとitem.valuesが同じ値だったら表示するというものですが文字列を含むにする場合はどうしたらいいですか? >>933からの続きなんだろうけど
すまんが俺のエスパー力が足りないようだ >>995
お前上のほうでエスパー力って言ってる奴と同じやつやろ
能力ある奴はわからない質問があれば質問返してくれるんだよね。
つまり無能は黙ってろ 知らんけどちょっと上に出てるincludes使えばいいんじゃないの? 単純に考えればそうなんだけどvaluesが文字列とは思えんし
ぶっちゃけよく分からん >>998
だkらエスパーは黙ってろって
全部わからんしか言ってないやつやろ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2579日 1時間 15分 36秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。