说我有这样的数组:
var arr = [
{type:"orange", title:"First"},
{type:"orange", title:"Second"},
{type:"banana", title:"Third"},
{type:"banana", title:"Fourth"}
];
Run Code Online (Sandbox Code Playgroud)
我希望将它拆分为具有相同类型的对象的数组:
[{type:"orange", title:"First"},
{type:"orange", title:"Second"}]
[{type:"banana", title:"Third"},
{type:"banana", title:"Fourth"}]
Run Code Online (Sandbox Code Playgroud)
但我想这样做,所以没有if语句指定橙色或香蕉
// not like this
for (prop in arr){
if (arr[prop] === "banana"){
//add to new array
}
}
Run Code Online (Sandbox Code Playgroud)
思考?JQuery和Underscore都是可以使用的选项.
在HTML5中,我们知道我们可以使用预定义的API读取文件.截至目前我已经尝试过了
<input type="file">
和File Drop
方法.他们对我很好.
但是我想知道在div上粘贴文件并在粘贴时捕获文件的可能性.例如
$('#dummyDIV').bind('paste',function()
{
// Like var file = files[0]
});
Run Code Online (Sandbox Code Playgroud)
谢谢
我已经在for循环中看到了匿名函数,以便在一两个地方引发Web上的新范围,并且想知道它是否有意义.
例如:
var attr, colors = ['green','blue','red'];
for ( attr = 0; attr < colors.length; attr++) {
(function() {
var colorAttr = colors[attr];
// do something with colorAttr
})();
}
Run Code Online (Sandbox Code Playgroud)
我理解它与将for scope保持在for循环内部有关,但在什么情况下这是必要的呢?如果你需要在for循环中声明一个新的var,那么这是一个好的做法吗?
我认为我缺少有关 Redux 和 RTK 查询工具的一些东西。我还为此使用 RTK Query OpenAPI codegen。
现在我有一个如下所示的 API ->
export const api = generatedApi.enhanceEndpoints({
endpoints: {
getMaterials: {
transformResponse: response => normalize(response),
},
},
})
Run Code Online (Sandbox Code Playgroud)
这在我的组件中很好地返回了标准化数据:
const Materials = () => {
const { data, isLoading, error } = useGetMaterialsQuery()
/*
Cool this gives me data back like:
{
[id]: {
id,
prop1: 'blah',
prop2: 'blah2'
}
}
*/
console.log(data)
// but now I want to structure this data differently using selector
const newDataStructure = useSelector(addSomeMetaDataAndStructureDifferentlySelector)
return …
Run Code Online (Sandbox Code Playgroud) 所以我有一个页面,上面有一个jquery ui滑块,用以下内容初始化:
var min = $("#attrInformation").data("lowest_price"),
max = $("#attrInformation").data("highest_price");
$( "#slider-range" ).slider({
range: true,
min: min,
max: max,
values: [ min, max ],
slide: function( event, ui ) {
var start = ui.values[0],
end = ui.values[1];
$("#startPrice").text(start);
$("#endPrice").text(end);
},
stop: function(event,ui){
var start = ui.values[0],
end = ui.values[1];
refineObject.price_min = start;
refineObject.price_max = end;
refineResults(refineObject);
}
});
Run Code Online (Sandbox Code Playgroud)
我希望能够根据ajax调用的结果更改最小值,最大值和两个句柄所在的值.所以我尝试过这样的事情:
$.get("ajax.php",options,function(data){
$('.middle_container').html(data);
$('#slider-range').slider( "option", "min", $('.middle_container').find('.start_price').val() );
$('#slider-range').slider( "option", "max", $('.middle_container').find('.end_price').val() );
$('#slider-range').slider("value", $('#slider-range').slider("value"));
});
Run Code Online (Sandbox Code Playgroud)
我的min和max包含在两个隐藏的div中,其中包含类start_price
和end_price
.这当前不起作用,它不会更新最高价格,并且滑块的右手柄出现在左侧位置上方.关于如何使这项工作的任何建议?我正在使用php作为后端.start_price和end_price代码正常工作.
我想用css创建一个向上和向下的箭头,如下所示:http://apps.eky.hk/css-triangle-generator/
然而,我想要设置它,而不是纯色,所以内部是白色的,三角形周围只有一个边框.(因此三角形将是多色的,内部一种颜色和不同颜色的边框).
这是可能的,如果是的话,怎么办呢?
因此,我们正在每周发布我们的项目,并且我们遇到的问题是客户端有旧版本的某些文件.
堆栈是主干,带有主干样板的requirejs和带有PHP后端的Apache2服务器.
我们有加载的索引html文件,使用AJAX加载的模板HTML文件,然后是所有js文件.
这个问题似乎与/sf/ask/847233901/有关,但我没有看到一个好的答案.
我听说PHP的缓存控制头和mod过期以及mod头可能会有所帮助,但我不知道如何将它们放在一起.
从本质上讲,我们要做的是确保向prod服务器发布新代码,确保所有内容都不会被缓存一次.在此之后,正常缓存以提高加载速度将是理想的.
至少,我会理解如何完全阻止这些东西被缓存.
有任何想法吗?
我正在使用RequireJS,骨干样板和布局管理器,JamJS来帮助管理包,一切都在开发中运行良好,但是当我尝试创建带有连接文件的生产版本时它不起作用.
看起来shim
我的配置可能没有加载.例如,我在控制台中遇到的错误是Uncaught TypeError: Cannot set property 'cookie' of undefined
,因此jQuery没有作为jquery.cookie的依赖项加载.这是我的应用配置:
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
paths: {
baseUrl : '/',
config : "config",
// JavaScript folders.
api : "libs/api",
app : "app",
// Libraries.
almond : "../vendor/jam/js/libs/almond",
engagement : "libs/engagement",
environment : "libs/environment",
jquery : "../vendor/jam/jquery/jquery",
jqueryui : "../vendor/js/libs/jquery-ui-1.9.1.custom.min",
"jquery-cookie" : "../vendor/jam/jquery-cookie/jquery.cookie",
chosen : …
Run Code Online (Sandbox Code Playgroud) javascript jquery requirejs backbone-boilerplate backbone-layout-manager
所以我有两个不同的webpack配置我传递的数组看起来像这样:
[
{
entry: entrypointsIE,
output: outputIE,
module: {
loaders: [
// set of loaders that has one difference to load SCSS variables from a different location
]
},
resolveLoader: resolveLoader,
resolve: resolve,
plugins: plugins,
devServer: devServer
},
{
entry: entrypoints,
output: output,
module: {
loaders: [
// loaders all the same as the IE9 except one difference in sass loader
]
},
resolveLoader: resolveLoader,
resolve: resolve,
plugins: plugins,
devServer: devServer
}
]
output = {
path: '/web/dist',
filename: '[name].bundle.js', …
Run Code Online (Sandbox Code Playgroud) 所以我使用npm install uglify-js安装了npm
我运行的命令是:
cat file1.js file2.js .. fileN.js | uglifyjs -o files.min.js
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
WARN: ERROR: Unexpected token eof «undefined», expected punc «,» [-:630,15]
/usr/local/lib/node_modules/uglify-js/lib/parse.js:199
throw new JS_Parse_Error(message, line, col, pos);
^
Error
at new JS_Parse_Error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:185:18)
at js_error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:199:11)
at croak (/usr/local/lib/node_modules/uglify-js/lib/parse.js:630:9)
at token_error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:638:9)
at expect_token (/usr/local/lib/node_modules/uglify-js/lib/parse.js:651:9)
at expect (/usr/local/lib/node_modules/uglify-js/lib/parse.js:654:36)
at ctor.argnames (/usr/local/lib/node_modules/uglify-js/lib/parse.js:897:52)
at function_ (/usr/local/lib/node_modules/uglify-js/lib/parse.js:902:15)
at expr_atom (/usr/local/lib/node_modules/uglify-js/lib/parse.js:1114:24)
at maybe_unary (/usr/local/lib/node_modules/uglify-js/lib/parse.js:1278:19)
Run Code Online (Sandbox Code Playgroud)
关于这是关于什么或我应该如何修复它的任何想法?