我正在尝试构建一个函数,该函数需要可变数量的参数。
该函数接受n个输入,并计算所有可能的加法和减法之和,例如,如果args为1,2,3
1 + 2 + 3
1-2-3
1 + 2-3
1-2 + 3
最后,函数输出最接近零的和。在这种情况下,答案仅为0。
我在解决如何循环n个参数以使用+和-运算符的所有可能组合时遇到很多问题。
我设法建立了一个将所有变量相加或相减的函数,但是我一直坚持如何处理各种+和-,特别是在考虑多个可能的变量时。
var sub = 0;
var add = 0;
function sumAll() {
var i;
for (i = 0; i < arguments.length; i++) {
sub -= arguments[i];
}
for (i = 0; i < arguments.length; i++) {
add += arguments[i];
}
return add;
return sub;
};
console.log(add, sub); // just to test the outputs
Run Code Online (Sandbox Code Playgroud)
我想为任何给定数量的输入(总是整数,正数和负数)计算+和-的所有可能排列。欢迎提出将总和与零进行比较的建议,尽管我还没有尝试过,但宁愿先询问这一部分。谢谢。
我遇到过很多用于打开流和捕获图像的包和 API,但所有这些解决方案都需要在组件中加载提要,因此“相机”是浏览器内的实用程序。有没有办法在 DOM 之外打开手机的实际相机应用程序?
这里是 Docker 新手。我的 Nextjs 应用程序遇到了令人困惑的障碍,该应用程序与 API 和数据库容器一起在自己的容器中运行。
我的 Nextjs 应用程序使用 API 容器中的数据。这在服务器端效果很好:Nextjs 应用程序按其应有的方式解析容器主机名。然而,在客户端,应用程序崩溃了,因为容器主机名对浏览器来说没有任何意义(我认为?)。我对如何处理这件事感到相当迷失。有想法吗?
这是我的 Docker Compose 文件,它有助于阐明我的问题。请注意,我通过以下environment字段将主机名传递给 Nextjs 应用程序:
version: '3.8'
services:
# Redis
redis:
image: redis
command: redis-server --requirepass ${REDIS_PASSWORD} --bind redis
ports:
- "6379:6379"
networks:
- mywebappio
# Data Processing Service
mywebapp-api:
container_name: mywebapp-api
restart: always
build:
context: packages/dps-api
dockerfile: Dockerfile
command: npm run dev # npm start prod
working_dir: /usr/src/dps-api
env_file:
- .env
volumes:
- ./packages/dps-api:/usr/src/dps-api
ports:
- "5000:5000"
networks:
- mywebappio
depends_on:
- redis …Run Code Online (Sandbox Code Playgroud) 我正在开发一个允许用户上传大型数据集的应用程序。上传者有一个“草稿”版本,他们可以在 UI 中编辑该版本,然后他们发布草稿的快照,所有用户都可以看到。仅当上传者登录时才应查询草稿文件。
虽然非编辑权限用户看不到草稿,但该应用程序仍会查询其整个文件集,这使得获取数据集页面非常缓慢。
该查询具有“草稿”数据的片段,包括有条件不想要的文件。如果我省略片段中的文件,则该组件适用于所有用户……但是上传者无法获取他们的草稿文件。所以这该死的,如果我这样做,该死的如果我不犹豫,我对 graphql 和 apollo 缺乏经验在这里真的很闪耀。
这是查询和随附的钩子:
export const getDatasetPage = gql`
query dataset($datasetId: ID!) {
dataset(id: $datasetId) {
id
created
public
following
starred
...DatasetDraft
...DatasetPermissions
...DatasetSnapshots
...DatasetIssues
...DatasetMetadata
...DatasetComments
uploader {
id
name
email
}
analytics {
downloads
views
}
onBrainlife
}
}
${DatasetQueryFragments.DRAFT_FRAGMENT}
${DatasetQueryFragments.PERMISSION_FRAGMENT}
${DatasetQueryFragments.DATASET_SNAPSHOTS}
${DatasetQueryFragments.DATASET_ISSUES}
${DatasetQueryFragments.DATASET_METADATA}
${DATASET_COMMENTS}
`
export const DatasetQueryHook = ({ datasetId }) => {
const {
data: { dataset },
loading,
error,
} = useQuery(getDatasetPage, {
variables: { datasetId },
}) …Run Code Online (Sandbox Code Playgroud) javascript ×2
reactjs ×2
addition ×1
algorithm ×1
graphql ×1
next.js ×1
react-apollo ×1
subtraction ×1